mb_substr使用中出现的一点问题

 $str="探访韩国坡州志愿军墓地 墓碑上刻\"无名人\"";
        var_dump(substr($str,0,48));
        var_dump(mb_substr($str,0,48));
首先使用substr和mb_substr结果出现同样的效果!
如下输出:
string(48) "探访韩国坡州志愿军墓地 墓碑上刻"�"  string(48) "探访韩国坡州志愿军墓地 墓碑上刻"�"
记忆中mb_substr是按字符个数来的,不应该和substr一样。
看了下php版本, 5.4.16,mbstring扩展也装了。<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
然后又改了一下:
        $str="探访韩国坡州志愿军墓地 墓碑上刻\"无名人\"";
        var_dump(substr($str,0,48));
        var_dump(mb_substr($str,0,17,'utf-8'));
最后输出:
string '探访韩国坡州志愿军墓地 墓碑上刻"�' (length=48)
string '探访韩国坡州志愿军墓地 墓碑上刻"' (length=47)
记得以前截取中文没有用到utf-8.难道是版本变了,现在必须加上。还是自己记错了!!
thinkphp的html页面中使用
<volist name='alists' id='vo'>
          <li><a href="{:U('Action/showsome',array('id'=>$key))}">*{$vo|mb_substr=0,20,'utf-8'}...</a></li>
</volist>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值