PHPが生成したXMLは無効なChar値27メッセージを表示します(PHP generated XML shows invalid Char value 27 message)

754 ワード

に質問
PHPライブラリを使用してXMLを生成します.
$ dom = new DOMDocument(“1.0”,“utf- 8“);
以上を実行すると、出力の上部にメッセージが表示されます.
このページには、16行目のカラム274505:PCDATAで無効な文字値27の下にあるページのレンダリングエラー、最初のエラーが含まれています.**
Tidyライブラリを使用して修正を試みました.iconvを使用してUTF-8の中国語文字を取得します.
ソリューション
このエラーから抜け出すには、このサイトで役立つ機能をお勧めします.http://www.phpwact.org/php/i18n/charsets#common_problem_areas_with_utf8
utf-8で符号化された文字列をXMLドキュメントに配置すると、すべてのutf-8有効文字がXMLドキュメントで受け入れられているわけではないことを覚えておいてください.http://www.w3.org/TR/REC-xml/#charsets
不要な文字を削除する必要があります.そうしないと、XMLの致命的な解析エラーが発生します.
 function utf8_for_xml($ string)
 {
 return preg_replace('/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}]+/u','',$ string); 
} 
  

他の人の時間を節約したいです.