2

ページのソースコードを読み込もうとしています。IDが「wrapper_left」の特定の分割要素内にあるテキストを読みたいだけです。

私の問題は、explode関数の最初の引数でプライム "が使用されている場合、それが機能しないことです。文字列をエスケープしようとしましたが、これでは何も起こらないと思いました。

$source_code = htmlspecialchars(file_get_contents('http://mydomain.com'));

$source_code = explode('<div id="wrapper_left">', $source_code);

echo $source_code[1];

よろしくお願いします。

4

1 に答える 1

5

explode()、文字列操作、または正規表現を使用してこれを実行しようとしないでください。次のようなHTMLパーサーが必要ですDOMDocument

$doc = new DOMDocument;
$doc->loadHTMLFile( 'http://mydomain.com');

$xpath = new DOMXPath( $doc);
$div = $xpath->query( '//div[@id="wrapper_left"]')->item(0);
echo $div->textContent;

このデモで動作していることがわかります。このデモでは、次のHTMLをフィードすると次のようになります。

<div id="wrapper_left">Some text</div>

それは以下を生成します:

Some text
于 2012-11-18T04:33:45.290 に答える