菜鸟笔记
简单的开发笔记
首页
登录 / 注册
笨猫首页
笨猫首页
斑马导航
奶牛网盘
白象软仓
青蛙壁纸
毒蛇电影
怪鸟头像
大熊逗图
热狗应用
蜗牛摘录
狐狸颜选
关于我们
收藏网站
菜鸟笔记
简单的开发笔记
首页
登录 / 注册
php 去除变态空格字符方法,空格trim不掉问题解决思路
今天过滤一段文本,后面有2个空格,用trim去不掉,用preg_match也去不掉,去网上翻阅了无数的方法,终于找到了非常好的一个解决方法。思路是首先将字符分隔开,str_split, 然后循环每个字节查看他的编码,ord(); #### trim函数 以php的trim 函数为例: 去除字符串首尾处的空白字符(或者其他字符) string trim ( string $str [, string $charlist ] ) 第二个参数可以指定要trim掉的字符 如果不指定第二个参数,trim() 将去除这些字符: ```php " " (ASCII32(0x20)),普通空格符。 "\t" (ASCII9(0x09)),制表符。 "\n" (ASCII10(0x0A)),换行符。 "\r" (ASCII13(0x0D)),回车符。 "\0" (ASCII00x00)),空字节符。 "\x0B" (ASCII11(0x0B)),垂直制表符。 ``` 但是空白字符并不只是这些字符。比如全角空格(ascii:227)和一些控制字符,乱码字符等等。全角空格这种情况是比较多的情况,如果确定空白字符是全角空格引起的可以直接 ```php $value = str_replace("全角空格"," ",$value); ``` 这样可以解决大部分问题。如果还是解决不了,恭喜你,你越到了变态数据。 #### 思路 对于变态数据可以考虑用下面的方法处理 1、分割字符串,将字符串分割成以一个字节为单位的字符组: str_split($str) 2、查看空白字符编码。(比如遇到一个变态字符串前面的空格字符是:194 160 194 160,基本可以确定是这个字符的问题) 3、替换掉空白编码 。比如用正则函数: ```php $value = preg_replace("/^[\s\v".chr(194).chr(160)."]+/","", $value); //替换开头空字符 $value = preg_replace("/[\s\v".chr(194).chr(160)."]+$/","", $value); //替换结尾空字符 ``` 例如下程序: ```php //比如字符串: “ abc”(前面是两个全角空格) $str = " abc"; $sArray = str_split($str); foreach ($sArray as $s){ var_dump(ord($s)); } ``` 输出结果 ```php int(227) int(128) int(128) int(227) int(128) int(128) int(97) int(98) int(99) ``` 发现a(97)前有2轮 ```php int(227) int(128) int(128) ``` 断定这就是一个utf-8的空白字符,下面的程序去掉这个字符就可以 ```php $str = preg_replace("/^[\s\v".chr(227).chr(128)."]+/","", $str); //替换开头空字符 $str = preg_replace("/[\s\v".chr(227).chr(128)."]+$/","", $str); //替换结尾空字符 var_dump($str); ``` 结果:string(3) "abc",成功去掉该变态空白字符。 从这个例子就可以看到,字符串中的空白字符分很多种,要去掉空白字符首先就要明白空白字符类型,然后对症下药。只要知道这个原理,任何复杂的字符串都可以替换。
微信搜搜
笨猫小站
Taro 3 报错 taro3 ReferenceError: process is not defined 的解决办法
免杀PHP木马生成器
微信支付V3版本小程序支付 php签名,验签,数据解密代码分享
小程序tabbar分割线|黑线自定义
(1838)
(541)
(207)
打赏
公众号
小程序
QQ群
顶部
笨猫小站
小站首页
笨猫图库
懒虫工具
奶牛网盘
斑马导航
青蛙壁纸
毒蛇电影
白象软件
热狗应用
怪鸟头像
狐狸颜选
菜鸟笔记
蜗牛摘录
谢谢老板打赏
祝老板每天都有好运气
支付宝
微信
关闭弹窗
小站会员
永久会员最划算哟
3天体验卡
¥9.00
¥29.00
每天仅需3.00元
每天下载
5
次
1年畅享卡
¥39.00
¥99.00
每天仅需0.11元
每天下载
20
次
永久至尊卡
¥99.00
¥369.00
每天仅需0.00元
每天下载
1000
次
支付宝支付
微信支付
1. 会员充值前请仔细核对信息
2. 会员属于虚拟产品,充值成功后不予退款
微信搜一搜
笨猫小站
打赏赞助
猫豆充值
充值越多价格约优惠哟
20 猫豆
¥5.00元
¥5.00元
50 猫豆
¥9.00元
¥9.00元
100 猫豆
¥15.00元
¥15.00元
200 猫豆
¥20.00元
¥20.00元
500 猫豆
¥29.00元
¥29.00元
1000 猫豆
¥49.00元
¥49.00元
2000 猫豆
¥89.00元
¥89.00元
5000 猫豆
¥179.00元
¥179.00元
10000 猫豆
¥299.00元
¥299.00元
支付宝支付
微信支付
微信扫码支付
请使用微信扫一扫完成付款
¥15.00
22:21:12
我已支付
笨猫小站
微信扫码关注不领福利
请使用微信扫一扫关注我
已关注
笨猫工具
笨猫小站工具库
请使用微信扫一扫立马获取
已关注
笨猫小站
笨猫小站资源群
请使用QQ扫一扫加如QQ群
已加入
绑定账号
绑定账号手机端登录更方便
确认绑定
绑定微信
绑定微信登录更方便
微信二维码已过期
刷新
请使用微信扫码关注即可绑定
(移动端截图保存扫码关注)
订单详情
订单信息已生成
请稍等...
登录
·
注册
登录即代表您已同意
《服务协议》
和
《隐私协议》
确认提交
微信快捷登录/注册
注册即代表您已同意
《服务协议》
和
《隐私协议》
确认提交
微信快捷登录/注册
微信二维码已过期
刷新
请使用微信扫描二维码关注登录
手机账号注册