teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2018/05/09 02:13

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -22,8 +22,16 @@
22
22
 
23
23
  ```
24
24
 
25
+ 追記:
26
+ 変数の中身をポイントポイントでechoやvar_dumpを利用してデバッグする癖をつけると良いです。
27
+ そうすることで想定の情報が想定の状態かどうかとか、想定の場所を通っているかと言うのが分かるので、
28
+ 問題解決まで早くなります。
29
+ - [もうエラーでつまずかない!PHP言語でデバッグを行う方法【初心者向け】](https://techacademy.jp/magazine/11647)
30
+
25
31
  ----
26
32
 
33
+ ----
34
+
27
35
  下記でできないのは、nl2br()で改行タグを入れたのにhtmlspecialchars()で改行タグの<>などが変換されているためです。
28
36
  ```php
29
37
  echo '<p>'.htmlspecialchars($textarea).'</p>';

1

追記

2018/05/09 02:13

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,3 +1,29 @@
1
+ 質問追記を受けての追記。
2
+ 本来はもう少し流れ部分から根本的に見直したほうが良いです。
3
+ 「php 入力 確認 完了」などで検索するとそれなりのサンプルコードが結構でてきます。
4
+ (CRUDの基本のキなので誰もが通るみちですし)
5
+
6
+ ひとまず現状を対応するための対応です。
7
+
8
+ htmlspecialchars()をした情報がjson_encode()されて入るという謎の流れが気にはなりますが、
9
+ ちゃんと取得時はjson_decode()がされて取得しているとすると、
10
+ output.phpでは取得した際には
11
+ ```
12
+ おはよう
13
+ こんにちは
14
+ こんばんは
15
+ ```
16
+ のように改行コードが入った状態で取得されるので、
17
+ nl2br()すれば良いだけです。
18
+
19
+ ```php
20
+ $text = json_decode(~file.txtから取得した文字列~);
21
+ echo '<p>'.nl2br($text).'</p>';
22
+
23
+ ```
24
+
25
+ ----
26
+
1
27
  下記でできないのは、nl2br()で改行タグを入れたのにhtmlspecialchars()で改行タグの<>などが変換されているためです。
2
28
  ```php
3
29
  echo '<p>'.htmlspecialchars($textarea).'</p>';