我正在使用 file_get_contents 获取网页的内容,并且部分 body 标记保留在输出中。我还使用 strip_tags() 删除其他 html 标签,但部分正文标签仍然存在。
我怎样才能删除它?
我得到的输出是 body> 然后是内容。
这是我的代码:
$content = file_get_contents( $url );
$content = stristr( $content, "body" );
echo strip_tags($content);
我正在使用 file_get_contents 获取网页的内容,并且部分 body 标记保留在输出中。我还使用 strip_tags() 删除其他 html 标签,但部分正文标签仍然存在。
我怎样才能删除它?
我得到的输出是 body> 然后是内容。
这是我的代码:
$content = file_get_contents( $url );
$content = stristr( $content, "body" );
echo strip_tags($content);
stristr
从匹配字符串开始的索引开始返回,但实际上你在它结束后一个字符:
$content = substr(strpos($content, "<body>") + strlen("<body>") + 1);
您还想搜索“”而不是“body”,因为“body”可能出现在实际内容中。但是,由于您strip_tags
无论如何都在使用,您实际上可以从 body 标记的开头开始抓取,它会正常工作:
$content = stristr($content, "<body>");
这将返回以 开头的内容<body>
,该内容将被 剥离strip_tags
。