0

文字列変数で特定の Web ページのページ ソース情報全体を取得し、php でエコーする方法を教えてください。私はphpに慣れていないので、その完全なソースコードを誰かに教えてもらえませんか。以下は私のソースコードです:

<?php
$dom = new DOMDocument;
$dom->loadHtmlFile('http://www.google.com');

$xpath = new DOMXPath($dom);

$elements = $xpath->query('//input[@name="session_id"]');
if ($elements->length) {
    echo "found: ", $elements->item(0)->getAttribute('value');
} else {
    echo "not found";
}
}
?>

上記のコードを次のコードに置き換えました

URL を「http://www.flipkart.com/professional-android-2-application-development-8126525894/p/itmdytmwpjzyhade?pid=9788126525898&ref=8a47bf68-7558-43ce-a9b2-17c1ac119e84」に変更しました。

しかし、それは次のエラーを与えます : ) [function.file-get-contents]: ストリームを開けませんでした: HTTP リクエストが失敗しました! C:\wamp\www\displaycontentswebpage.php の 2 行目

期待される結果:(ページソース)

<title>Professional Android 2 Application Development 8126525894: Book: Reto Meier (9788126525898) | Flipkart.com</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
<!--<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> -->
<meta property="fb:page_id" content="102988293558" />
<meta property="fb:admins" content="658873552,1412400758,624500995,100000233612389"/>
<meta name="Keywords" content="professional android 2 application development, buy professional android 2 application development, professional android 2 application development india, professional android 2 application development review, reto meier, 8126525894, 9788126525898" />
<meta name="Description" content="Professional Android 2 Application Development by Reto Meier. Rs.449, Save 25%. Buy Professional Android 2 Application Development, All India Free Home Delivery. 8126525894, 9788126525898 |" />


    <link rel="canonical" href="http://www.flipkart.com/professional-android-2-application-development-8126525894/p/itmdytmwpjzyhade" />
<link rel='shortcut icon' href='http://img5.flixcart.com/www/prod/images/favicon-18354.ico' />................something something..........................




src="http://googleads.g.doubleclick.net/pagead/viewthroughconversion/1017598645/?value=0&amp;label=9tgBCLOv-QIQtaWd5QM&amp;guid=ON&amp;script=0"/>
                </div>
            </noscript></div>

親切に助けてください。

4

3 に答える 3

1

変数にドキュメントをロードし$domたら、次のことができます。

echo htmlspecialchars($dom->saveHTML());

のマニュアルを参照してくださいsaveHTML

htmlspecialcharsレンダリングの代わりにhtmlが表示されるように使用しています。

于 2012-07-13T14:02:52.730 に答える
0

これは、PHP の単一の関数file_get_contents()( http://php.net/file-get-contents ) によって実現されます。これは、ファイルの内容を文字列として返します。

// print source to current output
echo file_get_contents( 'http://www.google.com' );

// print content as readble format
echo htmlspecialchars( file_get_contents( 'http://www.google.com' ), ENT_SUBSTITUTE );

ENT_SUBSTITUTE- または -フラグは、指定されたエンコーディング内で入力に無効なコード ユニット シーケンスが含まれている場合にENT_IGNORE必要です。http://php.net/htmlspecialchars#refsect1-function.htmlspecialchars-returnvalueshtmlspecialchars()を参照してください

于 2012-07-13T14:03:38.917 に答える