1. ホーム
  2. php

文字列を「XMLセーフ」にする方法とは?

2023-10-14 15:59:15

質問

私は、PHP echosを通してXMLドキュメントを送信することによって、AJAX呼び出しに応答しています。 このXMLドキュメントを形成するために、私はデータベースのレコードをループしています。 問題は、データベースが '<' シンボルを持つレコードを含んでいることです。 そのため、当然ながら、ブラウザはその特定の場所でエラーを投げます。 これはどうすれば直るのでしょうか?

どのように解決するのですか?

これらの文字をエスケープするには htmlspecialchars でエスケープするか、あるいはもっと適切には、XML ドキュメントを構築するためのライブラリ、たとえば DOMDocument あるいは XMLWriter .

別の方法として、CDATA セクションを使用することもできますが、その場合は ]]> .

XML文書に定義されたエンコーディング(デフォルトではUTF-8)を尊重しなければならないことも考慮してください。