php - 如何在文本中找到任何单词但在标签内区分?

标签 php regex seo keyword-search

我想在文本中找到最小长度 (eq 4) 的任何单词,它也可以在 <strong> 等标签之间找到或 <h1>等等。之后我想对这些词进行加权。普通单词的得分低于 <strong> 之间的单词。 .但是这些词不应该单独出现在更具得分性的标签中(如强)。

示例内容

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore <strong>magna aliquyam erat</strong>, sed diam voluptua. 
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor 
invidunt ut labore et dolore <strong>magna</strong> aliquyam erat, sed diam voluptua

我可以用 regexp 来做这件事吗,比如找到任何单词并检查 preg 回调中它们是否在标签内,或者这怎么可能?

非常感谢!

最佳答案

(?<=\/|<)(\w{4,})(?=>)|\b(\w{4,})

您可以试试这个。匹配的第 1 部分 将始终来自标签。匹配的第 2 部分 将是其他正常单词。

查看演示。

http://regex101.com/r/hQ1rP0/74

关于php - 如何在文本中找到任何单词但在标签内区分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26254890/

相关文章:

java - 表示为字符串的二维矩阵上的正则表达式

php - 使用 CA 文件从 Azure Database for MySQL 进行 SSL 连接

php - 结果中的 PDO MySQL 行位置

php - 使用 PHP 获取用户环境变量

正则表达式 - 如何删除前 10 行/和最后 10 行

javascript - 如何让搜索引擎索引 Leaflet map 中的对象

php - Javascript/jQuery 和正则表达式

regex - 如何在 VsCode Vim 中替换换行符

database - 某些页面中重复了 Wordpress 页面标题

hyperlink - 没有 anchor 文本的链接对搜索引擎优化不利吗?