PHP正则表达式替换撇号内的逗号和换行符
问题描述:
我需要编写一个正则表达式来查找撇号内的字符串,并用空格替换换行符和逗号。我不擅长正则表达式。有人可以协助吗?我相信Id会使用preg_replace函数。PHP正则表达式替换撇号内的逗号和换行符
感谢
答
这可以在所有(爆炸)变量被应用,它会取代newlines
和commas
仅当在可变双引号:
$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);
我还没有尝试任何事情。我对正则表达式不熟练。如果我是,我尽我自己的想法。 – jkushner 2013-02-17 16:07:25
你是否需要担心未封闭的撇号?我认为你的意思是“str” – 2013-02-17 16:09:34
不,我不必担心未封闭的撇号 – jkushner 2013-02-17 16:10:48