我需要编写一个正则表达式,在撇号中查找字符串,并用空格替换换行符和逗号。我不擅长正则表达。有人可以帮忙吗?我相信我正在使用preg_replace函数。
由于
答案 0 :(得分:0)
这可以应用于所有(爆炸)变量,只有在变量中有双引号时才会替换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);