用HTML或PHP源代码从网页中提取文章内容的最佳正则表达式或其他简单方法是什么?

用HTML或PHP源代码从网页中提取文章内容的最佳正则表达式或其他简单方法是什么?,php,html,regex,html-content-extraction,boilerpipe,Php,Html,Regex,Html Content Extraction,Boilerpipe,有许多脚本从html页面中提取文章。如果使用正则表达式从html或PHP页面源代码中获取唯一的主文,那么仅获取主文的最佳正则表达式是什么。另外,在PHP或其他程序中,获得没有正则表达式的表达式的最简单和最好的方法是什么。 一些脚本使用许多过滤器从html或PHP源代码中提取主要文章,但存在非英语语言、字符和多字节字符的问题。由于上述问题,他们无法很好地从文章主体部分的源头上解决问题 通常,主文章必须位于html或PHP源代码中的“div”、“p”或其他标记中。然后,页面中包含导航、链接、摘录和其

有许多脚本从html页面中提取文章。如果使用正则表达式从html或PHP页面源代码中获取唯一的主文,那么仅获取主文的最佳正则表达式是什么。另外,在PHP或其他程序中,获得没有正则表达式的表达式的最简单和最好的方法是什么。 一些脚本使用许多过滤器从html或PHP源代码中提取主要文章,但存在非英语语言、字符和多字节字符的问题。由于上述问题,他们无法很好地从文章主体部分的源头上解决问题

通常,主文章必须位于html或PHP源代码中的“div”、“p”或其他标记中。然后,页面中包含导航、链接、摘录和其他内容的其他html元素。通过定义表达式中的多字节、字符和语言差异,使用正则表达式可以轻松解决以前的问题。大多数文章提取软件使用过滤器查找“评论”、“第一”、“下一步”、“导航”、“按钮”、“提交”和其他内容,以检查它们所包含的部分是内容还是其他元素。标记、ID、类和其他标记很可能仅在英语和ISO西欧字符中有效。他们无法提取文章的确切部分,因为他们不理解要过滤的语言或字符

使用以下算法从文章提取脚本源使用的其他元素中筛选文章; 如果仔细检查“src”文件

检查字符是否足够长。字符和字数 检查标签是否位于建议列表、注释、第一、下一、导航和其他位置。带或不带正则表达式的数组搜索 其他检查从其他html元素、启发式元素和其他元素验证文章。 网页的文章抽取有很多理论,但并不比使用正则表达式简单。它们可以转换为简单的正则表达式或其他简单的程序

这篇文章是用java写的,可以提取文章,但是它太复杂了,语言和字符的问题。最好同时使用几个正则表达式和一些其他正则程序来过滤文章

下面是我要找的东西

正则表达式,仅从html和PHP页面提取文章。 使用少量正则表达式仅从html或PHP源代码中提取文章,而不使用任何其他元素和其他表达式来检查非文章的可能性

非正则表达式,仅从html和PHP页面提取文章。 使用PHP仅从html或PHP源代码中提取文章,而不以简单的方式使用正则表达式。另外,需要检查文章是否正确


它们都不能有语言和字符集的限制,多字节和简单的例子足以容纳一个页面。

忘记使用正则表达式来处理像html标记这样不规则的东西-你会发现使用DOMDocument这样的东西更好。我正在寻找一些简单的东西,比如只提供html或php中的文章内容,并且简单而小,在正则表达式中。@GordonM:答案似乎包含不可读的字符,因此显示不正确的字符。那么,这听起来像是不正确的字符集问题。或者你的意思是你可能不得不解析无效的输入?