我的字符串包含一些[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>
因此,函数首先需要确定是否有热键。这很容易;只需检查是否存在[
然后,我们需要处理字符串以确定存在哪些热键,并进入要部署哪些包装器的业务逻辑。
最后,我们必须清除热键中的原始字符串,并返回结果。
我的问题是,如果有一个正则表达式可以更有效地实现这一点,那么下面的解析方法,我正计划将函数实现为.
步骤1使用[
分隔符将字符串分解为数组
步骤2遍历每个数组元素,看看是否存在关闭的]
,它是否形成了定义的热键之一,如果是,请执行必要的操作。
显然,这种方法没有使用任何regex功能。我想知道regex是否可以在这里提供帮助。或者,你有什么更好的方法可以建议吗?
如果[
和]
是您唯一需要担心的delimeter,您可能会使用strtok
我英语说得不好,但我看到了你的例子:
"This is a sample string [red] [h1]"
<font color='red'><h1>This is a sample string</h1></font>
如果我是你:
$red = substr( $chaine, strpos($chaine, '['), strpos($chaine, ']') );