PHP4で問題なく動いていた、
xml_parse_into_struct($parser,$xml_doc,$vals,$index) or exit(xml_error_string(xml_get_error_code($parser)));
という行で、xml_parse_into_struct()がエラーになっているようです、exit以下の処理で、
>required という文字が返ってきます。
PHPのことがあまりよくわからずに使っていたので、お手上げです。
何を確認すればよいでしょうか?
1)スクリプト全体が UTF-8 になっており、mb_internal_encoding も UTF-8 になっていますか?
2)また、ご質問の行より前にあるはずの
$parser = xml_parser_create()
では、エンコードは指定していませんよね?
3)ココログのRSSは、どういう手順で$xml_docに取り込みましたか?
RSSを解析するなら、xml_parseを使った方が簡単だと思いますが‥‥。
できました!
色々ありがとうございました。
結局、ファイルを開くときのfopen()のやり方を変えたら直りました
@fread(fopen("$url","r"),100000)
としていたのを、
$fp = fopen($url, 'r');
$data = '';
while (!feof($fp)) {
$data .= fread($fp, 4096);
}
しました。
ありがとうございます
読もうとしているRSSは、niftyのココログ http://www.cocolog-nifty.com/ で、 となっています。