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

Ada*_*dam 3 php regex

我想要的是


嗨!我想更换:)smile.png:))laugh.png.

问题


脚本在:)里面找到:))所以laugh.png没有显示,只有smile.png+)

这是我迄今为止尝试过的:)):


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

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

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

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

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

hoo*_*ter 5

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

然后

对于:)) - (:\)\))

  • 顺便说一下,正则表达式甚至都不正确.如果`:)`是最后一件事,第一个将失败.它应该使用负向前瞻或"| $".但是,即使它们是解决此问题的更好解决方案,您也可以非常快速地投票并提供正确的解决方案. (6认同)
  • Blindy,除非操作员表示他真的想要一个正则表达式解决方案,否则我们不应该通过发布更好的解决方案来帮助我们吗? (3认同)
  • 实际上回答了操作的第一个答案.有趣的是,当他们看到正则表达式时,有多少人避免回答. (2认同)
  • 为什么这些表达式用括号括起来?因为PHP正则表达式函数已经提供了`$ 0`,所以完全不需要(并且在这里不太可读!)将捕获组用于整个表达式. (2认同)