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)."....");

(0)

相关推荐

  • php实现字符串首字母转换成大写的方法

    本文实例讲述了php实现字符串首字母转换成大写的方法.分享给大家供大家参考.具体分析如下: php中可以通过ucfirst函数将一个字符串中的第一个字母转换成大写,而ucwords函数可以将一个字符串中每个单词的首字母转换成大写 <?php $string = "php string functions are easy to use."; $sentence = ucfirst($string); $title = ucwords($string); print("$

  • php自定义函数实现汉字转换utf8编码的方法

    本文实例讲述了php自定义函数实现汉字转换utf8编码的方法.分享给大家供大家参考,具体如下: 该函数有两部分组成: function htou($c) { $n = (ord($c[0]) & 0x1f) << 12; $n += (ord($c[1]) & 0x3f) << 6; $n += ord($c[2]) & 0x3f; return $n; } //在代码中隐藏utf8格式的字符串 function utf8_unicode($str) { $

  • php获取汉字首字母的函数

    网上的方法有不少,都是一样的原理,按照需求,做了一下版本的class类文件,主要功能是:功能明确,易于修改维护和扩展: 英文的字串:不变返回(包括数字):中文字符串:返回拼音首字符: 中英混合串: 返回拼音首字符和英文.该算法采用了二分法查找,修复了之前字母Z读取成Y的错误.好东西要收藏,故在此留下印记,以供后人考证! 复制代码 代码如下: <?php  /*** Modified by http://iulog.com @ 2013-05-07* 修复二分法查找方法* 汉字拼音首字母工具类* 

  • PHP提取中文首字母

    复制代码 代码如下: <?     function pykey( $py_key)     {         $pinyin = 65536 + pys($py_key);         if ( 45217 <= $pinyin && $pinyin <= 45252 )         {             $zimu = "A";             return $zimu;         }         if ( 452

  • 分享一段PHP制作的中文拼音首字母工具类

    代码很简单,这里就不多BB了,大家看注释吧,注释都看不懂的小伙伴,求放过PHP!!! 复制代码 代码如下: <?php /** * 汉字拼音首字母工具类 *  注: 英文的字串:不变返回(包括数字)    eg .abc123 => abc123 *      中文字符串:返回拼音首字符        eg. 测试字符串 => CSZFC *      中英混合串: 返回拼音首字符和英文   eg. 我i我j => WIWJ *  eg. *  $py = new str2PY()

  • php获取汉字拼音首字母的方法

    现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序.这是中国人大多数使用的排序方法.那么在php程序中该如何操作呢? 下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的大多数是有问题的,这个可是经过小编实践应用过的,真的可以使用的哦. //php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A'

  • PHP自定义函数获取汉字首字母的方法

    本文实例讲述了PHP自定义函数获取汉字首字母的方法.分享给大家供大家参考,具体如下: 首字母很重要,可以进行排序使用. 城市列表等等. <?php /* * Created on 2016-12-1 */ function getFirstCharter($str) { if (empty($str)) { return ''; } $fchar = ord($str{0}); if ($fchar >= ord('A') && $fchar <= ord('z')) r

  • 使用PHP获取汉字的拼音(全部与首字母)

    废话不多说,直接上代码: 复制代码 代码如下: <?php class GetPingYing {     private $pylist = array( 'a'=>-20319, 'ai'=>-20317, 'an'=>-20304, 'ang'=>-20295, 'ao'=>-20292, 'ba'=>-20283, 'bai'=>-20265, 'ban'=>-20257, 'bang'=>-20242, 'bao'=>-20230

  • php 获得汉字拼音首字母的函数

    php获取汉字拼音的第一个字母 复制代码 代码如下: <?php function getinitial($str) { $asc=ord(substr($str,0,1)); if ($asc<160) //非中文 { if ($asc>=48 && $asc<=57){ return '1'; //数字 }elseif ($asc>=65 && $asc<=90){ return chr($asc); // A--Z }elseif

  • php获取英文姓名首字母的方法

    本文实例讲述了php获取英文姓名首字母的方法.分享给大家供大家参考.具体如下: 这段代码可以根据用户输入的英文姓名,分析出姓名的首字母输出,比如"Billy Bob" to "B.B." <?php function initials($name){ $nword = explode(" ",$name); foreach($nword as $letter){ $new_name .= $letter{0}.'.'; } return s

随机推荐