php中不间断空格的正则表达式

php中不间断空格的正则表达式,php,html,regex,Php,Html,Regex,输入: 我在php中有一个字符串,我需要用非换行符代码替换该字符串 输出: $string = "a b c d e"; 不允许将单个空间和第一个空间替换为\xc2\xa0 当出现两个空格“”时,输出为“\xc2\xa0”,保留第一个空格,替换第二个空格 当出现三个空格“”时,输出为“\xc2\xa0\xc2\xa0”,保留第一个空格,替换第二个和第三个空格 输入字符串是随机的 对php的正则表达式或其他函数有什么想法吗 非常感谢。preg\u replace('/(?$s=preg\

输入:

我在php中有一个字符串,我需要用非换行符代码替换该字符串

输出:

$string = "a b c  d   e"; 
  • 不允许将单个空间和第一个空间替换为\xc2\xa0
  • 当出现两个空格“”时,输出为“\xc2\xa0”,保留第一个空格,替换第二个空格
  • 当出现三个空格“”时,输出为“\xc2\xa0\xc2\xa0”,保留第一个空格,替换第二个和第三个空格
  • 输入字符串是随机的
  • 对php的正则表达式或其他函数有什么想法吗
    非常感谢。

    preg\u replace('/(?
    $s=preg\u replace('~)你是说a和b之间有两个空格吗?
    
    "a \xc2\xa0b c \xc2\xa0d \xc2\xa0\xc2\xa0e"
    
    preg_replace('/(?<= ) {1,2}/', "\xc2\xa0", $str);
    
    $s = preg_replace('~(?<= ) ~', '\xc2\xa0', $s);