我在使用正则表达式时遇到了一些问题,我相信这里有人可以帮助我。 我正在废弃一个网页,想要找到Wordpress链接的第一个实例。所以我举例如下:
preg_match("/<link\shref=.+\/wp-content\/themes\/(.+)\//", $site, $match);
问题是,有些页面有来自Wordpress网站的图像具有相同的wp-content/theme
结构,然后发生的是正则表达式捕获页面上的第一个<link
并沿着页面向下移动到wp-content/theme/
形象,并给我一个误报。
我一直试图解决这个问题,但我似乎无法成功。我想到了某种方式重新抬头,只在那里搜索,但我无法做到。
我真正需要做的是找到<link
,然后找到下一个>
,并且只有当他们之间存在wp/content/
时才会给我一个肯定的结果。
我对正则表达式并不是非常了解。我知道我的基本知识,但这个可能有点超出我的范围。
我很感激这里的任何输入,我确信有一种简单的方法可以做到这一点。
由于
答案 0 :(得分:1)
这里有两个问题,其中只有一个是你要问的问题。
您要问的问题可以通过说“继续直到找到可以使用>
代替[^>]+
.+
来解决
另一个问题是您正在使用正则表达式来解析HTML。改为使用HTML解析库。