我知道,我知道......正则表达式不是提取HTML文本的最佳方式。但我需要从很多页面中提取文章文本,我可以在每个网站的数据库中存储正则表达式。我不确定XML解析器如何与多个网站一起使用。每个网站都需要一个单独的功能。
无论如何,我对正则表达不太了解,所以请耐心等待。
我的HTML页面格式与此类似
<html>
<head>...</head>
<body>
<div class=nav>...</div><p id="someshit" />
<div class=body>....</div>
<div class=footer>...</div>
</body>
我需要提取body类容器的内容。
我试过了。
$pattern = "/<div class=\"body\">\(.*?\)<\/div>/sui"
$text = $htmlPageAsIs;
if (preg_match($pattern, $text, $matches))
echo "MATCHED!";
else
echo "Sorry gambooka, but your text is in another castle.";
我做错了什么?我的文字最后出现在另一座城堡里。
*编辑:哦......没关系,我找到了readability's code
答案 0 :(得分:0)
您的class="body"
您的文档已匹配class=body
:您错过了引号。使用"/<div class=\"?body\"?>(.*?)<\/div>/sui"
。