2013-02-17 67 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); 
相关问题