wordpress用のパーサーを作ったのですが、wpとdbがutf-8を使っていたり、一部のページのエンコーディングが異なっていたりするので、解析すると文章がおかしくなりました。curl を使用して外部の URL からコンテンツを取得し、一部は一致して正規表現に置き換えます。
この問題を解決する方法はありますか?
以下のジョニからの提案を使用して、問題を解決しました。この問題に関する今後のクエリに使用したサンプル コード:
preg_match("/charset=(.*?)(\n|'|\"|>)/ism", $content, $charset);
$content = preg_replace('/^HTTP+[^<]+</', '<', $content);
$charset = @trim($charset[1]);
if (preg_match("~(windows-1251|1251)~i", $charset)) return 'Windows-1251';
elseif (preg_match("~iso-8859-7~i", $charset)) return 'ISO-8859-7';
elseif (preg_match("~(koi8|iso-ir-111)~i", $charset)) return 'KOI8-R';