帮助正则表达式html加上最后的额外字符串

时间:2011-03-17 03:23:30

标签: php html regex ereg

我正在尝试通过PHP ereg找到HTML标签,该标签在结束标记之前有{xxx} - 其中xxx可以是[A-Za-z0-9_\-]*

例如:<p>xxxx</p><p>yyyy{asdf}</p>

这是我能想到的最好的:/<([\w]+)([^>]?)>([^{]*)\{([^}]+)\}<\/\1>/is

问题是,它匹配第3组将有xxxx</p><p>yyyy,在这种情况下我只想要yyyy

希望有人可以帮助,欢呼,Egil。

聚苯乙烯。抱歉没用的标题,想不出更好的东西。

1 个答案:

答案 0 :(得分:3)

在正则表达式中的每个?+之后添加*。这会使比赛变得不那么贪心。

否则,请尝试将<>添加到否定字符类[^{<>]*[^}<>]*,以在其中排除标记。