回答編集履歴
1
微修正
test
CHANGED
@@ -1,7 +1,3 @@
|
|
1
|
-
配列格納時に htmlspecialchars() を行っていますが、基本的に文字のエスケープはHTML出力時(表示時)にしましょう。
|
2
|
-
|
3
|
-
|
4
|
-
|
5
1
|
json_encode() には特殊な文字をエスケープするオプションが用意されているので、htmlspecialchars() は使わず、そのオプションを使った方がシンプルです。
|
6
2
|
|
7
3
|
|
@@ -67,3 +63,11 @@
|
|
67
63
|
|
68
64
|
|
69
65
|
で出力した後は、JavaScript 側でJSONを読んでオブジェクトに変換してから利用してあげればOKです。
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
---
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
ちなみに提示いただいたコードでは配列格納時に htmlspecialchars() を行っていますが、早々にエスケープしてしまうと、エスケープしたことで値の比較や検索ができなくなったり、二重にエスケープして出力しまったりといったトラブルの元になるため、基本的に文字のエスケープは最後の最後、HTML出力時(表示時)にするのが鉄則です。今回の例では `echo htmlspecialchars($jsonTest, ENT_QUOTES, 'UTF-8');` と echo するときにエスケープすべきでしょう。
|