输入:
$string = "a b c d e";
我在php中有一个字符串,我需要用非中断空格代码替换字符串
输出:
"a \xc2\xa0b c \xc2\xa0d \xc2\xa0\xc2\xa0e"
使用正则表达式或php的其他功能的任何想法 非常感谢你。
答案 0 :(得分:1)
preg_replace('/(?<= ) {1,2}/', "\xc2\xa0", $str);
Lookbehind (?<= )
会看到空格是否在匹配项之前, {1,2}
匹配1和2个空格。替换只会发生匹配的空间,而不是外观。如果您想要替换尽可能多的空格(如果还有3个以上),只需将{1,2}
替换为+
。
答案 1 :(得分:1)
$s = preg_replace('~(?<= ) ~', '\xc2\xa0', $s);