0

cURLまたはこれを使用して...

$html = file_get_contents('http://stackoverflow.com/questions/ask');

Webページを取得しますが、通常のWebページとしてもレンダリングし、テキストが必要です。

4

4 に答える 4

2

私はあなたがやっているだけで、それが何らかの形でレンダリングされていると仮定しますecho $htmlそうではありません。代わりにプレーンテキストで見てください:

header("Content-Type: text/plain");
echo $html;

また、「レンダリング」が「ASP.NET がページを HTML にレンダリングした」ことを意味する場合、いいえ、任意のリモート ページのソースを取得することはできません。それはかなり大きなセキュリティリスクになります。

于 2012-07-24T19:09:10.383 に答える
1

ええと...file_get_contentsファイルの内容を取得するだけです。出力ストリームに直接ダンプしているため、「レンダリングされた」HTML のようにしか見えません。htmlspecialchars出力する前に実行してみてください。

于 2012-07-24T19:08:30.990 に答える
0

「テキストのみ」とはどういう意味ですか? html ファイルのテキストコンテンツをスクレイピングしますか? 次に、ファイルの解析を試みる必要があります。つまり、興味深いコンテンツを含むタグをsimplehtmldomなどのツールでフィルタリングします([HTML からコンテンツを抽出] タブを探します)。または、独自のパーサーを作成し、必要に応じて、php 独自のstrip_tagsを使用してコンテンツから残りのタグを取り除きます。

于 2012-07-24T19:27:57.293 に答える
0

@Kolinkに同意します。次のようなものが機能します。

$html = htmlspecialchars(file_get_contents('http://stackoverflow.com/questions/ask'));

かなり自信がありますが、テストされていません!

于 2012-07-24T19:18:52.463 に答える