body标记的一部分保留在file_get_contents输出中,如何删除它

时间:2013-04-02 16:18:57

标签: php

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

如何删除它?

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

这是我的代码:

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

1 个答案:

答案 0 :(得分:1)

stristr从匹配字符串启动的索引开始,但实际上结束后之后只有一个字符:

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

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

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

这将返回以<body>开头的内容,该内容将被strip_tags删除。