我将尝试使用正则表达式在PHP中从UTF8字符串中删除重复的空格字符。
这是正则表达式:
$txt = preg_replace( '/\s+/i' , ' ', $txt );
通常情况下,它工作得很好,但是一些字符串中有西里尔字母“Р”,在替换后被破坏了。 经过小的调查,我意识到该字母被编码为\x{D0A0},由于\xA0在ASCII中是不间断的空格,因此正则表达式将其替换为\x20,字符就不再有效了。
在PHP中使用正则表达式如何正确解决这个问题?
 
。 - Rvanlaak