加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php自定义函数截取汉字长度

发布时间:2020-05-24 09:22:35 所属栏目:PHP 来源:互联网
导读:php中截取汉字长度的方法有很多,本例通过自定义函数来完成这个需求,感兴趣的朋友可以参考下

<div class="codetitle"><a style="CURSOR: pointer" data="67094" class="copybut" id="copybut67094" onclick="doCopy('code67094')"> 代码如下:<div class="codebody" id="code67094">
function msubstr($str,$start,$len) {
$strlen=$start+$len;
for($i=0;$i<$strlen;$i++) {
if(ord(substr($str,$i,1))>0xa0) {
$tmpstr.=substr($str,2);
$i++;
} else
$tmpstr.=substr($str,1);
}
return $tmpstr; }

<div class="codetitle"><a style="CURSOR: pointer" data="58808" class="copybut" id="copybut58808" onclick="doCopy('code58808')"> 代码如下:<div class="codebody" id="code58808">
<?PHP
$str="这个字符好长呀,^_^";
$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...
Echo "$Short_Str";
Function csubstr($str,$len)
{
$strlen=strlen($str);
$clen=0;
for($i=0;$i<$strlen;$i++,$clen++)
{
if ($clen>=$start+$len)
break;
if(ord(substr($str,1))>0xa0)
{
if ($clen>=$start)
$tmpstr.=substr($str,2);
$i++;
}
else
{
if ($clen>=$start)
$tmpstr.=substr($str,1);
}
} return $tmpstr;
}
Function showShort($str,$len)
{
$tempstr = csubstr($str,$len);
if ($str<>$tempstr)
$tempstr .= "..."; //要以什么结尾,修改这里就可以. return $tempstr;
}

再来看看唠叨的方法 怎么样,简洁吧?
<div class="codetitle"><a style="CURSOR: pointer" data="36781" class="copybut" id="copybut36781" onclick="doCopy('code36781')"> 代码如下:<div class="codebody" id="code36781">
$len = 19;
$text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?";
echo strlen($text)<=$len ? $text : (substr($text,$len).chr(0)."....");

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读