我很难弄清楚这个regexp是如何匹配多个空格的:
$str = ' ';
if (preg_match_all('/\s{2,}/', $str, $matches)) {
var_dump($matches);
}事实是,如果我用3个“实”空格替换str值,它就像预期的那样工作,但很明显,str中的字符不是空格(复制粘贴自其他源)!但是我需要用真正的空间来代替它们。
我的问题是:在str中那些简单的空间字符是什么,更重要的是,我如何在regexp中针对它们?
发布于 2016-04-30 12:08:30
发布于 2016-04-30 12:19:02
\s捕获的空白字符可以包括实际空格(代码0x20)、水平选项卡字符(0x09)、回车(0x0D)、行提要(0x0A)和表单提要(0x0C)。因此,如果要将所有这些字符转换为实际空格,可以使用以下一行:
$str=preg_replace('/\s/',' ',$str);或者,如果要用单个实际空格替换两个或多个空格字符的序列,请使用以下方法:
$str=preg_replace('/\s{2,}/',' ',$str);https://stackoverflow.com/questions/36954634
复制相似问题