You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除含特殊字符的空白字符?PHP代码处理后仍有空白

特殊空白字符去除问题

尝试用以下代码去除字符串中的特殊空白字符,但处理后仍有空白残留:

$city_name = "  Hải Phòng";
$city_name = trim(preg_replace('/\s+/', ' ', $city_name));

原因是这个空白属于非标准Unicode空白字符(比如不间断空格、全角空格),普通正则\s仅匹配标准空格、制表符、换行符,无法覆盖这类特殊空白。

解决办法是使用Unicode属性类匹配所有空白类字符,修改代码如下:

// 匹配所有Unicode空格分隔符,替换为单个空格后修剪
$city_name = trim(preg_replace('/\p{Zs}+/u', ' ', $city_name));

如果需要覆盖所有类型的Unicode空白(包括换行、制表符等),可以用:

$city_name = trim(preg_replace('/\p{White_Space}+/u', ' ', $city_name));
  • \p{Zs}:匹配所有Unicode定义的空格分隔符
  • u修饰符:开启正则的Unicode模式,确保正确识别特殊Unicode字符

内容的提问来源于stack exchange,提问作者Hai Truong IT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:24:51