我需要清理文本字符串,每个字母之间有一个空格,每个空格由3个空格组成,例如:
E X C E P T I O N A L C R E A T I V I T Y A N D A
T A I L O R E D D E S I G N E D G E
我该如何清理文本,即将每三个空格转换为一个空格,并删除每个字母之间的空格?
欢迎客户端/服务器端解决方案
preg_replace('/(.) /', '''1', $string);
regex引擎不匹配作为替换结果的子字符串,因此它将正确处理三重空格,而不需要对它们进行特殊处理。
str_replace(array(' ', ' ', '%'), array('%', '', ' '), $text);
将%替换为文本中没有出现的字符或字符串
$input = <<<_EOI_
E X C E P T I O N A L C R E A T I V I T Y A N D A
T A I L O R E D D E S I G N E D G E
_EOI_;
$patterns = array('/('w) /', '/ {2,}/');
$replaces = array('$1', ' ');
preg_replace($patterns, $replaces, $input);
// output:
// EXCEPTIONAL CREATIVITY AND A
// TAILORED DESIGN EDGE