2011-01-19 50 views

回答

6

试试这个:

preg_replace("/(?<!\\\)F/", "f", $str); 
2

This works。

$string = preg_replace('/([^\\\]|^)F/', '$1f', $string); 

的原因有三个反斜杠,是因为第一个转义第二个用于字符串,以及一个逃脱的最后一个正则表达式。这里的其他网站上关于它的话题:http://forums.devnetwork.net/viewtopic.php?t=125752

更新:感谢@Damp和@webbiedave

+0

-1这不起作用,因为它剥去字母前面的字符(abcF将被abf替换) – Damp 2011-01-19 22:11:39

+0

@Damp:很好的捕获。我必须考虑这一点。 – Jonah 2011-01-19 22:14:03