我正在尝试将 [ 和 ] 转换为 和
字符串
$str="I don't [wanna] be a bus [driver] all my [life]";
我想要这个输出
I don't <b>wanna</b> be a bus <b>driver</b> all my <b>life</b>
[] 中的任何单词都应该是粗体
到目前为止,这是我的代码:
$str="I don't [wanna] be a bus [driver] all my [life]";
echo preg_replace("#[]#","<b></b>",$str);
但它不起作用,它按原样返回字符串
I don't [wanna] be a bus [driver] all my [life]
有什么想法吗?谢谢
最佳答案
如前所述,该问题不需要正则表达式:
print strtr($str, [
'[' => '<b>',
']' => '</b>',
]);
如果你仍然想要正则表达式,它是这样的:
print preg_replace(
'~\[(.+?)\]~',
"<b>$1</b>",
$str);
括号被转义,因为它们在正则表达式中有特殊含义。在替换字符串中,$1
表示第一个捕获的组 (.+)
。
关于php - 用 <b> 和 <b> 替换 [ 和 ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29051110/