【问题标题】:PHP bbcode recursive regexPHP bbcode 递归正则表达式
【发布时间】:2012-05-21 06:33:41
【问题描述】:
[div="desc"][1="text1"][2="text2"][3="link3"][/div]

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

谢谢!

【问题讨论】:

  • 递归在哪里?所有后续文本的格式是否相同?

标签: php regex recursion nested bbcode


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多