2011-01-19 37 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