【PHP】xmlのタグの中の文字列をエスケープするよ!
xmlの中に「&」とか「<」とか「>」みたいな文字列が入っていると、simplexml_load_string()で読み込んだときにエラーしてしまいます!
そんなときはpreg_replace()で文字をエスケープして読み込んであげましょう!
下記は「< title >・・・&・・・・< /title >」みたいに書かれたタグの中を「< title >・・・& amp;・・・・< /title >」と置き換えてエスケープしています!
$content = file_get_contents('./hogehoge.xml'); //&をエスケープ $content = preg_replace('/<title>(.+?)&(.+?)<\/title>/', '<title>>$1&$2</title>', $content); $rss = simplexml_load_string($content);
これでsimplexml_load_stringでちゃんとxmlが読めるね~!
以上!