使用cURL或this。。。
$html = file_get_contents('http://stackoverflow.com/questions/ask');
获取网页,但它也将其渲染为普通网页,我只想要文本。
我将假设您只是在执行echo $html
,并假设它以某种方式进行了渲染。事实并非如此。改为纯文本:
header("Content-Type: text/plain");
echo $html;
如果您所说的"rendered"是指"ASP.NET将页面渲染为HTML",那么不,您无法获得任意远程页面的来源。这将是一个相当大的安全风险。
Erm。。。CCD_ 2所做的就是获取文件的内容。它看起来只是"渲染"的HTML,因为您正在将它直接转储到输出流中。在输出之前,请尝试通过htmlspecialchars
运行它。
我同意@Kolink的观点。这样的东西会起作用:
$html = htmlspecialchars(file_get_contents('http://stackoverflow.com/questions/ask'));
没有测试,虽然漂亮的知己!
"只是文本"是什么意思?是否要抓取html文件的文本内容?然后,您应该尝试解析文件,即使用simplehtmldom等工具过滤包含有趣内容的标签(查找"从html提取内容"选项卡)。或者编写自己的解析器,如果需要,使用php自己的strip_tag从内容中剥离剩余的标记。