异常空格处理

有一次处理数据时,需要去掉数据中的空数据,即下图:
异常空格.jpg

使用去空格的方法:trim()函数、正则表达式匹配:

$arr = preg_replace('/^\s*|\s*$/', '', $arr);   //正则匹配,去掉字符串两端空格

但是都不能去掉
ctype_space()函数判断,返回的是false,正常空格的话返回为true,就感觉很奇怪,看着明明是空格呀
后来使用ord()函数,打印其ascii码,打印结果为int(194)
打印正常空格的ascii码为int(32),所以其不是一般的空格
查询了资料,发现有类似情况的–出现异常空格,好像是编码转换造成的,文章链接为:
https://www.cnblogs.com/wangyuyu/p/3711887.html

最后,使用str_replace(chr(194),’’,$arr) 把异常空格去掉转换成空数据,然后使用array_filter()函数去掉组数中的空数据:

$arr = str_replace(chr(194),'',$arr);
$arr = array_filter($arr);

小提示:如果遇到不清楚的数据,可以打印其ASCII值看看
ord()函数:返回字符串的首个字符的 ASCII 值
chr()函数:将ASCII码值转化为字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值