php - 用 <b> 和 <b> 替换 [ 和 ]

标签 php regex preg-replace

我正在尝试将 [ 和 ] 转换为

字符串

  $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/

相关文章:

javascript - 如何使用 PHP 弹出警告消息框?

php - WAMP include_path 错误

PHP preg_replace - 使用匹配项作为键从数组中查找替换项

PHP Preg-替换多于一个下划线

php - 使用 PHP 更改/编辑标签

php - 从命令行执行获取 Apache Document Root(无浏览器)

php artisan 服务无法工作,在 ProviderRepository.php 行 208 :Class 'Laravelium\Sitemap\SitemapServiceProvider' not found 中给出错误

javascript - 使用正则表达式跳过括号 [] 拆分字符串

javascript - 如何使用正则表达式匹配所有表情符号的 '\u' 代码?

android - 如何在 Android 中使用正则表达式