• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特殊文字をHTMLエンティティに変換する処理)

特殊文字をHTMLエンティティに変換する処理とhtmlspecialchars関数の違いは?

このQ&Aのポイント
  • 特殊文字をHTMLエンティティに変換する処理とhtmlspecialchars関数の違いについて教えてください。
  • 特殊文字をHTMLエンティティに変換する処理とhtmlspecialchars関数の使い方や適用例について教えてください。
  • 2次元配列の概念について詳しく教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6809/9681)
回答No.2

>回答ありがとうございます。 >entity_str()関数は以下のようになります。 情報ありがとうございます。 それならばやはり、entity_str()関数は、「毎回、変換フラグやエンコード指定を書く手間を省く」ためだけの関数と言うことですね。 > $assoc_array[$key][$keys] = entity_str($values); の部分は、 > $assoc_array[$key][$keys] = htmlspecialchars($values, ENT_QUOTES, 'UTF-8'); と書くことと、全く変わりありません。

その他の回答 (1)

  • asciiz
  • ベストアンサー率70% (6809/9681)
回答No.1

entity_str() は標準的なPHPライブラリには無いユーザー定義関数ですから、その中身を見なければ本当の動作はわかりません。 プログラムの方は、二重の foreach により、$values に、[$key][$keys] の値が1つずつ入って、処理されます。 entity_str(内容の1つ) と言う処理をした結果を、再度 [$key][$keys] に入れているのですから、結局は配列に格納されている全ての値について、 entity_str() によって処理をする、と言うことになっていますね。 ---- で、entity_str() 関数の実際の中身はどうなっているでしょうか。 >ゼロから始めるPHP講座Vol.42 MVCモデル①~MVCモデルとは? | CodeCampus >https://blog.codecamp.jp/php_mvc01 こちらのページでは >function entity_str($str) { > return htmlspecialchars($str, ENT_QUOTES, HTML_CHARACTER_SET); >} こうなっていました(あなたの見ているものと違う可能性があります)。 これだと、このentity_str() 関数は、htmlspecialchars() 関数、そのものです。 ただ、 ・プログラムのいろんな所でエンティティ変換を使う ・毎回htmlspecialchars() 関数に変換フラグや文字セットを指定するのが面倒 と言う点から、ユーザー定義関数化したものであるかもしれません。 さらには、標準的な htmlspecialchars() 関数では変換しない、別の変換も入れているかもしれません。 (私の勝手な想像ですので、実際の所は手元のプログラムを見てください。)

OBAKEI
質問者

補足

回答ありがとうございます。 entity_str()関数は以下のようになります。 function entity_str($str) { return htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); }

関連するQ&A