回答編集履歴

3

説明を詳細化

2021/05/02 15:01

投稿

seastar3
seastar3

スコア2287

test CHANGED
@@ -13,5 +13,3 @@
13
13
  '''
14
14
 
15
15
  のような手順です。
16
-
17
- なお改行は、OSによって、"\n"(UNIX系),"\r"(Mac系),"\r\n"(Windows系)等の違いがあります。

2

誤字訂正

2021/05/02 15:01

投稿

seastar3
seastar3

スコア2287

test CHANGED
@@ -1,4 +1,4 @@
1
- この現象は、e関数を使ったhtml編表示だと<p>タグや<div>タグの自動的な改行する振る舞いのみで、テキスト上の改行が効かなくなるから発生します。
1
+ この現象は、e関数を使ったhtml編表示だと<p>タグや<div>タグの自動的な改行する振る舞いのみで、テキスト上の改行が効かなくなるから発生します。
2
2
 
3
3
  私なら、正規表現でhtmlタグを削除してから出力します。
4
4
 

1

code 修正

2021/05/02 15:00

投稿

seastar3
seastar3

スコア2287

test CHANGED
@@ -1,14 +1,10 @@
1
1
  この現象は、e関数を使ったhtml編表示だと<p>タグや<div>タグの自動的な改行する振る舞いのみで、テキスト上の改行が効かなくなるから発生します。
2
2
 
3
- 私なら、htmlテキストの改行("\n")別の記号(仮に"++++")に置き換えて、e()関数にかけて、もう一度、置き換えた記号を改行("\n")に戻してから出力します。
3
+ 私なら、正規表現でhtmlタグ削除してから出力します。
4
4
 
5
5
  ```
6
6
 
7
- $str=preg_replace("/\n/","++++",$post->body);
7
+ $str=preg_replace("/<("[^"]*"|'[^']*'|[^'">])*>/","",$post->body);
8
-
9
- $str=e($str);
10
-
11
- $str=preg_replace("++++","/\n/",$post->body);
12
8
 
13
9
 
14
10