【发布时间】:2012-03-28 06:30:30
【问题描述】:
我的字符串包含[hotkey] 形式的一些“热键”。例如:
"This is a sample string [red] [h1]"
当我用 php 函数处理这个字符串时,我希望函数输出原始字符串,如下所示;
<font color='red'><h1>This is a sample string</h1></font>
我想使用这个函数纯粹是为了方便一些打字。我可能会使用字体标签或 div 或其他任何东西,我们不要讨论这个。重点是这个;热键将导致原始字符串被包装到
<something here>original string<and something there>
所以函数首先需要判断是否有热键。这很简单;看看有没有[
然后我们需要处理字符串以确定存在哪些热键,并进入 biz 逻辑以部署哪些包装器。
最后我们必须从热键中清除原始字符串并返回结果。
我的问题是,是否有一个正则表达式可以更有效地实现这一点,然后是我计划实现该功能的以下解析方法。
第 1 步
使用 [ 分隔符将字符串分解为数组
第 2 步
遍历每个数组元素以查看是否存在关闭 ] 并形成定义的热键之一,如果是,则执行必要的操作。
显然,此方法没有使用任何正则表达式功能。我想知道正则表达式在这里是否有帮助。或者,您有什么更好的建议吗?
【问题讨论】:
-
必须说:没有阅读整个问题。但是你应该用谷歌搜索“BBCode Parser PHP”。已经有现成的实现,用于(看起来)你想要实现的目标。
-
我认为正则表达式是要走的路