说,应该保持字母之间的空格(a-z,不区分大小写)并删除非字母之间的空格?
答案 0 :(得分:3)
这应该有效:
$trimmed = preg_replace('~([a-z0-9])\s+([a-z0-9])~i', '\1\2', $your_text);
答案 1 :(得分:1)
这将删除两个非字母字符之间的任何空格:
preg_replace('/(?<![a-z])\s+(?![a-z])/i', '', $text);
这将剥离任何一侧都有非alpha字符的空格(差别很大):
preg_replace('/(?<![a-z])\s+|\s+(?![a-z])/i', '', $text);
通过使用负前瞻和负后瞻断言,字符串的开头和结尾也被视为非alpha。