2013-02-17 105 views
0

我需要編寫一個正則表達式來查找撇號內的字符串,並用空格替換換行符和逗號。我不擅長正則表達式。有人可以協助嗎?我相信Id會使用preg_replace函數。PHP正則表達式替換撇號內的逗號和換行符

感謝

+0

我還沒有嘗試任何事情。我對正則表達式不熟練。如果我是,我盡我自己的想法。 – jkushner 2013-02-17 16:07:25

+0

你是否需要擔心未封閉的撇號?我認爲你的意思是「str」 – 2013-02-17 16:09:34

+0

不,我不必擔心未封閉的撇號 – jkushner 2013-02-17 16:10:48

回答

0

這可以在所有(爆炸)變量被應用,它會取代newlinescommas僅當在可變雙引號:

$field=preg_replace('/(\r\n|\n|\,)+(?=.*")/gms',' ',$field); 

講解演示帶引號的例子:http://regex101.com/r/bU2oX5(將取代)

解釋演示不帶引號的示例:http://regex101.com/r/iQ8yY9(並不會取代)

選項2

檢查是否有在可變第一雙引號:

if (strpos($field,'"')!==FALSE) $field=preg_replace('/(\r\n|\n|,)+/g',' ',$field);