PHP REGEX:笑脸的问题`:)`和`:))`

时间:2010-07-28 23:08:50

标签: php regex

我想要什么


嗨!我想将:)替换为smile.png,将:))替换为laugh.png

问题


脚本在:)内找到:)),因此laugh.png未显示,只显示smile.png +)

这是我迄今为:))所尝试的内容:


preg_replace("/:)+(?!))/i",$image, $string))

我试过的其他一些正则表达式:

"/\:\)+(?=\))/i"

"/\:+(?=\)\))/i"

但是没有什么比我想做的更好了。

4 个答案:

答案 0 :(得分:5)

对于:) - (:\)(?!\)))

然后

For :)) - (:\)\))

答案 1 :(得分:3)

str_replace(array(":))", ":)"), array("laugh.png", "smile.png"), $string);

订单很重要。

答案 2 :(得分:2)

$string = str_replace(':))', 'laugh.png', $string);
$string = str_replace(':)', 'smile.png', $string);

php.net on str_replace:“如果你不需要花哨的替换规则(比如正则表达式),你应该总是使用这个函数而不是ereg_replace()或preg_replace()。”

答案 3 :(得分:0)

为什么不进行简单的文字替换?

首先:))laungh.png,然后:)smile.png