0
[div="desc"][1="text1"][2="text2"][3="link3"][/div]

它继续可以继续限制为 6。如何创建一个提取“desc”、数字和文本的正则表达式?我尝试使用 php 数组,但我做不到。

谢谢!

4

1 回答 1

2

这里没有递归 - 至少你的例子没有显示它。如果在您的一般情况下确实存在递归,则正则表达式将不起作用;您将不得不使用解析器。

对于这种情况,我建议首先将 preg_match_all 与 /[([^]]+)]/ 之类的正则表达式一起使用。如果你将一个数组传递matches给这个函数,在运行 preg_match_all 之后,matches[1]应该是一个包含字符串 '[div="desc"]'、'[1="text1"]' 等的数组。一旦你有了这个数组,你可以使用foreach并拆分每个字符串循环遍历它=,然后对您解析的字符串的两个部分执行任何您喜欢的操作。

于 2012-05-13T15:44:22.933 回答