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

yipeiwu_com7年前PHP代码库
复制代码 代码如下:

function msubstr($str,$start,$len) {
$strlen=$start+$len;
for($i=0;$i<$strlen;$i++) {
if(ord(substr($str,$i,1))>0xa0) {
$tmpstr.=substr($str,$i,2);
$i++;
} else
$tmpstr.=substr($str,$i,1);
}
return $tmpstr;

}

复制代码 代码如下:

<?PHP
$str="这个字符好长呀,^_^";
$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...
Echo "$Short_Str";
Function csubstr($str,$start,$len)
{
$strlen=strlen($str);
$clen=0;
for($i=0;$i<$strlen;$i++,$clen++)
{
if ($clen>=$start+$len)
break;
if(ord(substr($str,$i,1))>0xa0)
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,2);
$i++;
}
else
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,1);
}
}

return $tmpstr;
}
Function showShort($str,$len)
{
$tempstr = csubstr($str,0,$len);
if ($str<>$tempstr)
$tempstr .= "..."; //要以什么结尾,修改这里就可以.

return $tempstr;
}

再来看看唠叨的方法 怎么样,简洁吧?
复制代码 代码如下:

$len = 19;
$text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?";
echo strlen($text)<=$len ? $text : (substr($text,0,$len).chr(0)."....");

相关文章

Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】

Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】

本文实例讲述了Windows上php5.6操作mongodb数据库的方法。分享给大家供大家参考,具体如下: 一、配置 针对不同线程安全、VC版本的 PHP 发行版,可从 PECL 获取到...

PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

本文实例讲述了PHPCrawl爬虫库实现抓取酷狗歌单的方法。分享给大家供大家参考,具体如下: 本人看了网络爬虫相关的视频后,手痒痒,想爬点什么。最近Facebook上表情包大战很激烈,就...

基于asp+ajax和数据库驱动的二级联动菜单

index.asp 页面代码 复制代码 代码如下: <!--#include file="conn.asp" --> <% set cmd = conn.execute...

PHP中危险的file_put_contents函数详解

前言 最近在EIS上遇到一道文件上传的题,发现过滤了<,这样基本很多姿势都无效了,想了很久没做出来这题,赛后才知道是利用数组来绕过, 这里分析了下原理,话不多说了,来一起看看详细的...

php+xml编程之xpath的应用实例

本文实例讲述了php+xml编程之xpath的应用。分享给大家供大家参考。具体如下: xpath设计的核心思想:迅速定位到你所需要的元素(或者节点)。PHP 文件在载入xml文件和创建D...