preg_match_all()html标签

时间:2012-08-12 05:15:00

标签: php regex

使用preg_match_all(),我希望匹配如下内容:

...randomtext...>MATCH1</a>" (MATCH2)"...randomtext...编辑:澄清一下,这正是我试图从中提取数据的字符串,包括括号,引号,尖括号等。

以下是我尝试过的内容:preg_match_all("/^>(.+?)</a>\" \((.+?)\)\"$/", $htmlfile, $matches);

它应将MATCH1提取为$matches[1][0],将MATCH2提取为$matches[2][0]

知道为什么它不起作用吗?

由于

2 个答案:

答案 0 :(得分:3)

您需要在模式中转义/,并且希望您的模式固定为^$

所以这可能会起作用:preg_match_all("/>(.+?)<\/a>\" \((.+?)\)\"/", $htmlfile, $matches);

答案 1 :(得分:3)

您没有转义结束标记</a>

这应该有效:

preg_match_all("/>(.+?)<\/a>\" \((.*?)\)/", $htmlfile, $matches);

请参阅Codepad example