0

使用 cURL 或这个...

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

获取网页,但它也将其呈现为普通网页,我只想要文本。

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

我同意@Kolink。像这样的东西会起作用:

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

未经测试,虽然相当知己!

于 2012-07-24T19:18:52.463 回答
0

“只是文字”是什么意思?是否要抓取html 文件的文本内容?然后您应该尝试解析文件,即使用simplehtmldom之类的工具过滤包含有趣内容的标签(查找选项卡“从html 中提取内容”)。或者编写自己的解析器,如有必要,使用 php 自己的strip_tags从内容中去除剩余的标签。

于 2012-07-24T19:27:57.293 回答