/*
* 函数说明:截取指定长度的字符串
* utf-8专用 汉字和大写字母长度算1,其它字符长度算0.5
*
* @param string $str 原字符串
* @param int $len 截取长度
* @param string $etc 省略字符...
* @return string 截取后的字符串
*/
if(!function_exists('ReStrLen'))
{
function ReStrLen($str, $len=10, $etc='...')
{
$restr = '';
$i = 0;
$n = 0.0;
//字符串的字节数
$strlen = strlen($str);
while(($n < $len) and ($i < $strlen))
{
$temp_str = substr($str, $i, 1);
//得到字符串中第$i位字符的ASCII码
$ascnum = ord($temp_str);
//如果ASCII位高与252
if($ascnum >= 252)
{
//根据UTF-8编码规范,将6个连续的字符计为单个字符
$restr = $restr.substr($str, $i, 6);
//实际Byte计为6
$i = $i + 6;
//字串长度计1
$n++;
}
else if($ascnum >= 248)
{
$restr = $restr.substr($str, $i, 5);
$i = $i + 5;
$n++;
}
else if($ascnum >= 240)
{
$restr = $restr.substr($str, $i, 4);
$i = $i + 4;
$n++;
}
else if($ascnum >= 224)
{
$restr = $restr.substr($str, $i, 3);
$i = $i + 3 ;
$n++;
}
else if ($ascnum >= 192)
{
$restr = $restr.substr($str, $i, 2);
$i = $i + 2;
$n++;
}
//如果是大写字母 I除外
else if($ascnum>=65 and $ascnum<=90 and $ascnum!=73)
{
$restr = $restr.substr($str, $i, 1);
//实际的Byte数仍计1个
$i = $i + 1;
//但考虑整体美观,大写字母计成一个高位字符
$n++;
}
//%,&,@,m,w 字符按1个字符宽
else if(!(array_search($ascnum, array(37, 38, 64, 109 ,119)) === FALSE))
{
$restr = $restr.substr($str, $i, 1);
//实际的Byte数仍计1个
$i = $i + 1;
//但考虑整体美观,这些字条计成一个高位字符
$n++;
}
//其他情况下,包括小写字母和半角标点符号
else
{
$restr = $restr.substr($str, $i, 1);
//实际的Byte数计1个
$i = $i + 1;
//其余的小写字母和半角标点等与半个高位字符宽
$n = $n + 0.5;
}
}
//超过长度时在尾处加上省略号
if($i < $strlen)
{
$restr = $restr.$etc;
}
return $restr;
}
}
php常用自建函数学习(1):标题或内容超过长度时在尾处加上省略号...
原创
©著作权归作者所有:来自51CTO博客作者漏刻有时的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【CAD建模号】学习笔记(三):图形绘制区1
本期学习笔记介绍【CAD建模号】中图形绘制区的二维工具、面建模、实体工具和文本工具。
角点 二维 图形绘制 CAD建模号 模宗 -
QLabel内容过长时,右侧显示省略号
QLabel内容过长时,右侧显示省略号
qt 字符串 ide 字符串函数 -
css文本超过宽度隐藏加上省略号css
-
安卓TextView内容过长显示省略号
背景经常会遇到文字过长时,需要在结尾显示省略号,在此总结一下所有的设置方法。解决方案(按照推荐级别从高到低排列):宽度采用wrap_content,设
android 控件 省略号 固定宽度 解决方案 -
android maxLength 超过长度不显示省略号
界面预览:由图中可以看出,此APP需要的组件有:两个TextView,一个用于显示手机号码的标题,另一个用于显示短信内容的标题。 &nbs
移动开发 java android 短信发送 Text -
搭建 Python 开发环境(Python 运行环境、PyCharm 开发工具)
Python开发环境配置指南主要介绍Python运行环境和PyCharm开发工具的安装步骤。首先从Python官网下载安装包,勾选PATH选项完成安装,并通过交互式解释器验证安装。接着下载新版PyCharm(2025.1版已合并社区版和专业版),安装后创建项目并配置Python解释器。详细说明了创建Python文件、运行程序的方法,以及调整编辑器字体大小和背景等个性化设置。文章特别提醒安装过程中的关键选项和常见注意事项,为Python初学者提供了完整的环境配置参考。
#python #开发语言 #pycharm Python 开发工具
















