独自の RSS/XML フィードを作成したいと考えています。データベースからデータを取得して表示しますが、無効な文字エラーが発生し続けます。文字列にアンパサンドやその他の奇妙な文字が含まれている場合、XML は無効になります。
urlencode と htmlentities を使用してみましたが、これらはエスケープする必要があるすべての可能な文字をキャプチャしません。XML出力用の文字列を準備するPHP関数を知っている人はいますか?
独自の RSS/XML フィードを作成したいと考えています。データベースからデータを取得して表示しますが、無効な文字エラーが発生し続けます。文字列にアンパサンドやその他の奇妙な文字が含まれている場合、XML は無効になります。
urlencode と htmlentities を使用してみましたが、これらはエスケープする必要があるすべての可能な文字をキャプチャしません。XML出力用の文字列を準備するPHP関数を知っている人はいますか?
htmlspecialcharsで十分です。ただし、3 番目のパラメーター (charset) を文字列 charset に一致する文字セットに設定することを忘れないでください。
例えば:
function html_special_chars($str)
{
return preg_replace(array('/&/', '/"/'), array('&', '"'), $str);
}