2011-09-12 31 views
1

原始字符串:$text = "aaaa aaaasomething someaaaa aaaa 89aaaa aaaathis"PHP文本替换? (结局)

最后的结果,我需要:$textresult = "aaaa aaaasomething some4a aaaa 894a aaaathis"

我的意思是:我要替换与AAAA到4A结束的文本的字符串。但只有当它是一个结尾而不是一个孤立的字符串,如aaaa或以aaaa开头的字符串。

我认为str_replace或preg_replace最终可以在单个代码行中执行此操作,但不知道如何执行此操作。

在此先感谢!

+0

如果一个单词是“fooaaaaa” - >它应该变成“fooa4a”还是根本不匹配? –

+0

我看到...是的,它应该匹配,所以解决方案你给作品! –

回答

5
$textresult = preg_replace('/\Baaaa\b/', '4a', $text); 

\B只能匹配两个字母数字字符,即i。即在一个词的中间。

\b只能匹配字母数字和非字母数字字符,即在单词的开头或结尾。

+0

...作为一个魅力蒂姆! 谢谢! –