[div="desc"][1="text1"][2="text2"][3="link3"][/div]
它继续可以继续限制为 6。如何创建一个提取“desc”、数字和文本的正则表达式?我尝试使用 php 数组,但我做不到。
谢谢!
这里没有递归 - 至少你的例子没有显示它。如果在您的一般情况下确实存在递归,则正则表达式将不起作用;您将不得不使用解析器。
对于这种情况,我建议首先将 preg_match_all 与 /[([^]]+)]/ 之类的正则表达式一起使用。如果你将一个数组传递matches
给这个函数,在运行 preg_match_all 之后,matches[1]
应该是一个包含字符串 '[div="desc"]'、'[1="text1"]' 等的数组。一旦你有了这个数组,你可以使用foreach
并拆分每个字符串循环遍历它=
,然后对您解析的字符串的两个部分执行任何您喜欢的操作。