Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 删除带引号的字符串中的换行符_Php_Regex_String_Newline - Fatal编程技术网

Php 删除带引号的字符串中的换行符

Php 删除带引号的字符串中的换行符,php,regex,string,newline,Php,Regex,String,Newline,在PHP中,我处理双引号之间的字符串,我无法控制这些字符串的生成方式。不知何故,在某些时候,换行符出现在某些字符串的末尾。其结果如下: "This is a value" "I'm another string!" "I somehow have a newline at the end " "Okay, this is the last one.." 如果我要迭代地遍历所有这些字符串,如何才能最好地删除这些换行符 我可以想象我应该使用preg\u replace,但我不知道什么样的模式可以最

在PHP中,我处理双引号之间的字符串,我无法控制这些字符串的生成方式。不知何故,在某些时候,换行符出现在某些字符串的末尾。其结果如下:

"This is a value"
"I'm another string!"
"I somehow have a newline at the end
"
"Okay, this is the last one.."
如果我要迭代地遍历所有这些字符串,如何才能最好地删除这些换行符

我可以想象我应该使用
preg\u replace
,但我不知道什么样的模式可以最好地去除带引号字符串末尾的换行符

提前谢谢

杰罗恩

差不多

  $string = trim(preg_replace('/\s\s+/', ' ', $string));

将执行此任务

应该是这样的:
preg\u replace('/[\r\n]+“$/,'“,$string)@Narf:谢谢你的回复!你能解释一下这个吗?它是否像双引号前的任何换行符,1或更多?然后用双引号替换匹配项?基本上是的,但从技术上讲,它会用双引号替换任何数量的返回框和/或换行符,这些字符后跟双引号,并且双引号必须是字符串中的最后一个字符。它是如何工作的?感谢您的评论。这是否像用空格替换任何类型的空白,并修剪前导空格和尾随空格?这很聪明。