2

xpath()simpleXML を使用して Web サイトから画像を取得しようとしていますが、非オブジェクトのメンバー関数を呼び出そうとしていることを示す PHP エラーが表示されます。

以下は、画像のソースタグを取得するために使用しようとしている行です。

$xpath = '/html/body/div/div/div[5]/div/div/div[2]/div/div[2]/img';          
$html = new DOMDocument();
@$html->loadHTMLFile($target_URL);
$xml = simplexml_import_dom($html);   
$source_image = $xml->xpath($xpath);
$source_image = $source_image[0]['src'];

私は何を間違っていますか?最後から 2 番目の行に問題があることは明らかですが、それが何であるかはわかりません。

4

2 に答える 2

6

このコードを試して、ドキュメントが正しく解析されていることを最初に確認してください。

$xpath = '/html/body/div/div/div[5]/div/div/div[2]/div/div[2]/img';          
$html = new DOMDocument();
@$html->loadHTMLFile($target_URL);
$xml = simplexml_import_dom($html);   
if (!$xml) {
    echo 'Error while parsing the document';
    exit;
}
$source_image = $xml->xpath($xpath);
$source_image = $source_image[0]['src'];
于 2008-12-09T07:24:13.020 に答える
3

問題が解決しました。空の文字列で xpath を楽しませていました。

于 2008-12-09T07:20:58.893 に答える