如何忽略模式的一部分以使用preg_match_all

时间:2017-09-24 11:19:54

标签: php regex preg-match

我想忽略href元素中的内容并使用其余模式进行函数搜索,我希望它是这样的:

preg_match('|<tr><td class="even"><a href="#">(.*?)</a></td>|', $content, $value)

最初href有/?tab=episode&seriesid=121361&seasonid=364731&id=3436411&amp;lid=16,但这是我想要忽略的功能。

编辑: 我想匹配来自2的{​​{1}}但不仅仅是1,我会稍后匹配并且他们有不同的href值,所以我想要一个正则表达式,这意味着这个href可能是变量。我不知道我是否解释得很好,我的英语不是很好。

2 个答案:

答案 0 :(得分:0)

如果您使用<a href="[^"]*">,它将匹配任何不属于"字符的内容。

理想情况下,您希望使用dom解析器See this post。使用XPath的SimpleXML是一个很好的工具。

答案 1 :(得分:-1)

我相信你正在寻找以下正则表达式:

<tr><td class="even"><a href=".*">(.*)</a></td>

这将匹配所有这些:

<tr><td class="even"><a href="/?tab=episode&seriesid=121361&seasonid=36ad31&id=3436411&amp;lid=16">2</a></td>
<tr><td class="even"><a href="/?tab=episode&seriesid=121361&seasonid=36aw31&id=3436411&amp;lid=16">1</a></td>
<tr><td class="even"><a href="/?tab=episode&adwadsonid=364731&id=3436411&amp;lid=16">Hallo</a></td>
<tr><td class="even"><a href="/?tab=episode&serwdadw1&seasonid=364731&id=3436411&amp;lid=16">Test</a></td>

我还保留了您的(.*),因为我假设您稍后使用该群组。

如果您想在a-tag内容中搜索特定值,请将(.*)替换为该内容。