当引号之间没有空格时,我想删除字符串中的引号。
下面是一个示例:
"foobar" should be foobar "foo bar" should be "foo bar"我使用的是php和preg_replace()
提前谢谢。
发布于 2011-06-26 05:05:33
preg_replace('/"([a-z0-9]+)"/iU','$1',$string);发布于 2011-06-26 05:05:08
$outputstr = preg_replace('/"(\S+)"/', '$1', $inputstr);发布于 2011-06-26 05:33:25
张贴的答案,包括接受的答案,都没有考虑配对,因此像"foo bar"baz"spam ham"这样的字符串将被错误地处理。你实际上需要一些东西,比如:
$str = ' "foo bar"baz"spam ham" ';
echo preg_replace_callback('~"(.+?)"~', function($m) {
return preg_match('~\s~', $m[0]) ? $m[0] : $m[1];
}, $str);请不要接受错误的答案。这使谷歌员工感到困惑,并降低了SO作为知识库的价值。
https://stackoverflow.com/questions/6480509
复制相似问题