preg_replace和preg_match忽略\ h(水平空白)和\ v(垂直空白)标志,我无法弄清楚原因。
$text = preg_replace('/[\h]+/', ' ', $text);
该行应该用一个空格替换任何连续的水平空白字符串。相反,它正在取代字母'h'。
我安装了PCRE 6.6。我知道[:blank:]作为\ h的替代品但是我找不到\ v的任何替代品(当然我更愿意弄清楚为什么这些不起作用而不是用某些东西替换它们别的)
答案 0 :(得分:2)
答案 1 :(得分:1)
如果有帮助,水平空白就是空格和制表符。所以[ \t]