【发布时间】:2012-02-21 21:23:11
【问题描述】:
目前(在 PHP 中)我有以下正则表达式模式:
\[(.*) (.*)=(.*)\]
这匹配 [doSomething limit=true]
最终结果是我的代码将解释该字符串并将其替换为编码为返回的任何值。
但是,我的一些代码需要将多个变量发送给函数,例如:
[doSomething limit=true otherlimitation=false sendfile=1 title="hello there"]
如何使正则表达式中的 (.)=(.) 可重复,以便它匹配通过发送的每个变量,包括函数的第一个(最重要的)名称?
【问题讨论】:
-
你应该用谷歌搜索一个现成的 BBCode 库。
-
谢谢,我会看看它,但我不想让我的代码负担过重,让它比我必须的慢,这就是为什么我不喜欢使用笨重的 3rd 方编写的东西。
-
那通常是想用盒子代替轮子。在最好的情况下它根本行不通,在最坏的情况下你会引入其他人已经解决的安全问题。
-
这可能是真的,但是在检查了您的 Google 建议的结果之后,我不得不提到,强迫任何人安装超过他们使用我的网络应用程序所需的更多内容,这违背了他们为什么想在 Wordpress 或 Drupal 等上面使用我的网络应用程序。将代码保持在最低限度,并且非常轻量级且易于安装/维护,从而打造出出色、快速、可扩展的 Web 应用程序。
标签: php regex recursive-regex