我有正则表达式的麻烦。我正在编写微笑系统。并使用正则表达式从字符串中获取微笑代码,例如:laugh:
或:haha:
。
我想在::
之间添加字符串,除了字母字符外没有任何内容。
<?php
$a="hello my dear :smile: ho r u?";
$a=preg_replace("/:([a-zA-Z]):/","<b>$1</b>",$a);
//or
$a=preg_replace("/:(\w):/","<b>$1</b>",$a);
echo $a;
?>
这些正则表达式都不起作用。我该如何解决这个问题?
答案 0 :(得分:0)
您必须允许与+
量词的一个或多个匹配:
这应该有效:
$a = preg_replace("/:([a-zA-Z]+):/","<b>$1</b>",$a);