使单词大胆开头*

时间:2015-07-09 12:43:10

标签: php string

以*开头的字符串中的所有单词都应为粗体。 这是我到目前为止所尝试的:

$string = "This is *a string to *check *bold";
echo preg_replace('/*(\w+)/', '<b>\1</b>', $string);

这给了我错误:

  

这是一个* check *粗体的字符串警告:preg_replace():编译   失败:没有什么可以在......的偏移0处重复。

3 个答案:

答案 0 :(得分:1)

你错了preg_replace()正则表达式

*是正则表达式中的特殊字符,应该进行转义。我使用#作为分隔符以获得更好的可见性。

检查以下代码:

$string = "This is *a string to *check *bold";
echo preg_replace('#\*(\w+)#', '<b>$1</b>', $string);

答案 1 :(得分:1)

$string = "This is *a string to *check *bold";
echo preg_replace('/\*(\w+)/', '<b>\1</b>', $string);

答案 2 :(得分:1)

你必须逃避“*”

所以正则表达式将成为

  

*([\ W] +)

  $string = "This is *a string to *check *bold";
  echo preg_replace('@\*([\w]+)@', '<b>$1</b>', $string);