0

重複の可能性:
PHPでHTMLを解析および処理する方法は?

file_get_contents()を使用してPHPでページをスクレイプしようとしています。このページには、JSONが少しHTMLでラップされています。このHTMLを削除して、スクレイプされた文字列でjson_decode()を使用できるようにし、JSONを個別に処理できるようにします。それを行うためのクリーンな方法はありますか?クイック検索は実際には何も導きませんでした。ありがとう

4

1 に答える 1

1

HTMLマークアップの形式が正しくなく、時間がかかる場合、正規表現を介した(一般的な?)ソリューションがクラッシュする可能性があるため、HTMLコンテンツの解析/削除は常に注意が必要です。この小さなHTMLDOMパーサークラスを使用することをお勧めします。

http://simplehtmldom.sourceforge.net/


サブコメントから編集および追加:

インラインJavaScriptがCDATAタグで適切にラップされていないため、これは悪いことです。そうでなければ、このようなものが機能する可能性があります:

$html = new simple_html_dom();
$html->load_file('your-external-file');

foreach($html->find("script") as $obj) {
    if(isset($obj->innertext) && strpos($obj->innertext, 'window._jscalls'))
        echo $obj->innertext;
}
于 2012-11-16T08:34:17.960 に答える