我正在获取页面HTML代码。
我可以删除所有的html标签和脚本。还想删除<title> whatever here </html>
在SO上测试了所有解决方案。没有帮助
这里有什么问题?
function plaintext($html)
{
$plaintext = preg_replace('#([<]title)(.*)([<]/title[>])#', ' ', $html);
//$plaintext = preg_match('#<title>(.*?)</title>#', $html);
// remove comments and any content found in the the comment area (strip_tags only removes the actual tags).
$plaintext = preg_replace('#<!--.*?-->#s', '', $plaintext);
// put a space between list items (strip_tags just removes the tags).
$plaintext = preg_replace('#</li>#', ' </li>', $plaintext);
// remove all script and style tags
$plaintext = preg_replace('#<(script|style)\b[^>]*>(.*?)</(script|style)>#is', "", $plaintext);
// remove br tags (missed by strip_tags)
$plaintext = preg_replace("#<br[^>]*?>#", " ", $plaintext);
// remove all remaining html
$plaintext = strip_tags($plaintext);
return $plaintext;
}
答案 0 :(得分:0)
你的代码看起来很好。我的意思是,使用你的功能..
function plaintext($html)
{
$plaintext = preg_replace('#([<]title)(.*)([<]/title[>])#', ' ', $html);
return $plaintext;
}
$page = file_get_contents('http://www.example.com');
echo plaintext($page);
没有标题标签......
答案 1 :(得分:0)
尝试:
preg_replace('/<title\b[^>]*>(.*?)</title>/i','',$html);