2010-08-25 18 views
0

我试图做一个正则表达式,我可以找到所有的html标签,但是对于每个标签,每个开始和结束标签必须是相同的。继承人我的意思:(是的,我只需要最多3个字母)PHP的正则表达式使用相同的字母

preg_match_all("/\<[a-z]{1,3}\>(.*?)\<\/[a-z]{1,3}\>/", $string, $matches); 

凡2 [a-z]{1,3}是的,我想这些是相同的,所以它不会与<\i>等匹配<b>谢谢.. 。让我知道你是否需要进一步的解释

回答

1
+0

我不是真正的解析HTML,它只是最近的例子,最简单的解释,说明什么林试图做... – David 2010-08-25 02:58:57

+0

所以你解析XML? :P对不起,每当看到'正则表达式'和HTML我都笑。 – 2010-08-25 03:02:38

+0

如果您正在解析HTML/XML或者您正在检查特定的结束标记,则无关紧要。 HTML和正则表达式像汽油和牛奶一样。即不推荐。 :) – 2010-08-25 03:03:05

1

你真的不应该被解析*毫升因为与嵌套元素问题,正则表达式,但如果这是任何求助:

preg_match_all("/<([a-z]{1,3})>(.*?)<\/\1>/", $string, $matches); 
+0

请注意,这不会处理使用同一种标签封装的标签。例如,给定'',它将匹配''。 – 2010-08-25 06:58:41