如何限制正则表达式中的长度?

时间:2017-10-08 13:37:04

标签: php regex regex-group

我在使用正则表达式时遇到了一些问题,我相信这里有人可以帮助我。 我正在废弃一个网页,想要找到Wordpress链接的第一个实例。所以我举例如下:

preg_match("/<link\shref=.+\/wp-content\/themes\/(.+)\//", $site, $match);

问题是,有些页面有来自Wordpress网站的图像具有相同的wp-content/theme结构,然后发生的是正则表达式捕获页面上的第一个<link并沿着页面向下移动到wp-content/theme/形象,并给我一个误报。

我一直试图解决这个问题,但我似乎无法成功。我想到了某种方式重新抬头,只在那里搜索,但我无法做到。 我真正需要做的是找到<link,然后找到下一个>,并且只有当他们之间存在wp/content/时才会给我一个肯定的结果。

我对正则表达式并不是非常了解。我知道我的基本知识,但这个可能有点超出我的范围。

我很感激这里的任何输入,我确信有一种简单的方法可以做到这一点。

由于

1 个答案:

答案 0 :(得分:1)

这里有两个问题,其中只有一个是你要问的问题。

您要问的问题可以通过说“继续直到找到可以使用>代替[^>]+

解决的.+来解决

另一个问题是您正在使用正则表达式来解析HTML。改为使用HTML解析库。