PHP中的RegExp未按预期工作

PHP中的RegExp未按预期工作,php,regex,Php,Regex,我有个问题,不知道怎么解决。我不想解析注释的表情,我正在尝试使用RegExp,但没有得到任何结果: 尝试使用以下表达式: 有两个实际的1.5问题: 次要/虚假-测试regexp中的连字符和几个$smiles键标记一个字符范围,这可能不是您想要的 severe preg_quote$icon将转义正则表达式中具有特殊语义的所有字符,但它不会添加括号和字符类的重复运算符 修正了它,在结尾使用了这个: $parsedMessage = preg_replace("/(?<=\s|^)([:;=&

我有个问题,不知道怎么解决。我不想解析注释的表情,我正在尝试使用RegExp,但没有得到任何结果:

尝试使用以下表达式:


有两个实际的1.5问题:

次要/虚假-测试regexp中的连字符和几个$smiles键标记一个字符范围,这可能不是您想要的

severe preg_quote$icon将转义正则表达式中具有特殊语义的所有字符,但它不会添加括号和字符类的重复运算符


修正了它,在结尾使用了这个:

$parsedMessage = preg_replace("/(?<=\s|^)([:;=<_)(xX]{1})+(([:-_]{1}|[3]|[()]{1}){1})(?=\s|$)/",
                  "<img src='".$this->url."/".$CONF['theme_url']."/images/icons/emoticons/".$image."' height='14' width='14' />",$parsedMessage);

$parsedMessage=str_replacearray_keys$smiles,$smiles,$parsedMessage;单词边界\b仅当存在相邻的字母数字字符时才有意义。@这没有意义,因为如果在链接中找到它,它将错误地工作。马里奥:那我该怎么做呢?@mario:那我该用哪一个表达式呢?我不是很喜欢regexp,只是想让它来制作那个小脚本。。。对不起,我不明白你想解释什么。。你能把它解释得更清楚些吗?或者用一些问题的例子?谢谢你的回答
$parsedMessage = preg_replace("/(?<=\s|^)([:;=<_)(xX]{1})+(([:-_]{1}|[3]|[()]{1}){1})(?=\s|$)/",
                  "<img src='".$this->url."/".$CONF['theme_url']."/images/icons/emoticons/".$image."' height='14' width='14' />",$parsedMessage);