我在使用正则表达式时遇到问题。我正在编码微笑系统。并从带有正则表达式的字符串中获取微笑代码,例如 :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;
?>
这些正则表达式都不起作用。如何解决这个问题?
您必须允许与+
量词进行一个或多个匹配:
这应该有效:
$a = preg_replace("/:([a-zA-Z]+):/","<b>$1</b>",$a);