• 技术文章 >后端开发 >php教程

    太长的标题要截断?如何分别全角和半角以避免乱码_PHP

    2016-06-01 12:38:14原创453
    作 者: lemann(lemann)

    function ChgTitle($title)

    {



    $length
    = 46;

    if (strlen($title)>$length) {

    $temp
    = 0;

    for($i=0; $i<$length; $i++)

    if (ord($title[$i]) > 128)

    $temp
    ++;

    if ($temp%2 == 0)

    $title
    = substr($title,0,$length)."...";

    else

    $title
    = substr($title,0,$length+1)."...";

    }

    return $title;

    }



    原理就是截断一个字符
    看看其ascII码是不是大于128如果是说明截断的是一个全角汉字那么就退后一个截断。用$length控制长度



    备注
    循环判断字符串里面的 >128

    的字符个数
    如果半角字符为偶数则表示位置刚好为整个汉字如果为奇数则为半个汉字需要取下一个字
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:第十三节对象串行化[13]_PHP 下一篇:第十四节命名空间[14]_PHP

    相关文章推荐

    • PHP ARRAY 数组函数(专题)• 关于HTML登陆界面的有关问题。 • PHP框架开发1(首言) • 没有CSS和JavaScript的基础,如何学好PHP?求指教 • 急求:关于PHP实时向客户端输出数据的有关问题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网