php正则匹配单引号内,PHP-如何用正则替换不包含在单引号和双引号之中的连续空白符?...

// "" => "[^\""]*(\.[^\"]*)*"

$text1 = " April fools 'a b'c d' day is "a b\"c d" 04/01/2002 ";

$text2 = " April fools 'a d' day is "a d" 04/01/2002 ";

function reduce_space($matches)

{

// as usual: $matches[0] is the complete match

// $matches[1] the match for the first subpattern

// enclosed in '(...)' and so on

return $matches[1].' '.$matches[3];

}

$pattern = '|([^ '"]*)( +)(('[^\\']*(\\.[^\\']*)*')*("[^\\"]*(\\.[^\\"]*)*")*)|';

echo preg_replace_callback($pattern, "reduce_space", $text1);

echo "done1n";

echo preg_replace_callback($pattern, "reduce_space", $text2);

echo "done2n";

查看源码吧,显示时可能多个空格显示为一个空格了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值