0

我正在使用 file_get_contents 获取网页的内容,并且部分 body 标记保留在输出中。我还使用 strip_tags() 删除其他 html 标签,但部分正文标签仍然存在。

我怎样才能删除它?

我得到的输出是 body> 然后是内容。

这是我的代码:

$content = file_get_contents( $url );
$content = stristr( $content, "body" );
echo strip_tags($content);
4

1 回答 1

1

stristr从匹配字符串开始的索引开始返回,但实际上你在它结束后一个字符:

$content = substr(strpos($content, "<body>") + strlen("<body>") + 1);

您还想搜索“”而不是“body”,因为“body”可能出现在实际内容中。但是,由于您strip_tags无论如何都在使用,您实际上可以从 body 标记的开头开始抓取,它会正常工作:

$content = stristr($content, "<body>");

这将返回以 开头的内容<body>,该内容将被 剥离strip_tags

于 2013-04-02T16:22:10.050 回答