php 去除空字符

php trim()函数可去掉字符串前后的空字符。通常情况下,trim() 将去除这些字符:

" " (ASCII32(0x20)),普通空格符。

"\t" (ASCII9(0x09)),制表符。

"\n" (ASCII10(0x0A)),换行符。

"\r" (ASCII13(0x0D)),回车符。

"\0" (ASCII00x00)),空字节符。

"\x0B" (ASCII11(0x0B)),垂直制表符。

但是空字符如全角空格(ascii:227)和一些控制字符,乱码字符,不可见,尤其是在中文字符串,尤其是一些变量字符,用strlen()计算长度总是多于原始中文。

此时,需要找出这些字符:

如变量值 $a为草莓,但strlen($a)长度为12,而strlen("草莓")为6

利用

$tArr = str_split($a);

foreach ($tArr as $s){

  var_dump(ord($s));

}

在ASCII码int(232) int(141) int(137) int(232) int(142) int(147)前多了

int(239)int(187)int(191)

$htStr = preg_replace("/^[\s\v".chr(239).chr(187).chr(191)."]+/","", $htStr); //替换开头空字符

$htStr = preg_replace("/[\s\v".chr(239).chr(187).chr(191)."]+$/","", $htStr); //替换结尾空字符

替换这些字符后正常。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值