截取指定长度的文字(包含对汉字的处理)

原创 2007年09月20日 09:23:00
一般来说,要截取的变量来自Mysql,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点.

    本程序实现的功能:截取指定长度汉字而不会出现以"?>"结尾,超出部分以"..."代替


<?PHP
$str="这个字符比较长SO LONG";
$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;
}
?>



使用方法:

1.将以上代码另存为dovia.php
2.页面引入:<?php include("dovia.php"); ?>
2.套用函数输出目标:
<?php
$str=$row_rs['N_Title'];
$Short_Str=showShort($str,12);
echo "$Short_Str";
?>

 

 

注:

1、int ord ( string string)

      Returns the ASCII value of the first character of string.

2、在gb2312中,汉字编码是以0xa1开始的。

 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

从一个包含汉字和其他字符的字符串中截取指定字节长度的字符串,不可以出现中文乱码

最近整理之前自己学习Java时的一些代码笔记,可能都是一些比较基础的Java知识,在这里只是给需要的人参考一下。 要求描述:从一个包含汉字和其他字符的字符串中截取指定字节长度的字符串,不可以出现中文...

截取指定长度的字符串(汉字不出现半个)

package string_by_byte;/** * 定义一个方法,按照指定的长度截取字符. * 如:对于"ab你好",如果取三个字节,那么子串应该只显示"ab",半个汉字舍去. * 如果是四个字...

.NET截取指定长度汉字超出部分以"..."代替

.NET截取指定长度汉字超出部分以"..."代替  ,要完成这个操作,有两种方法,一种是直接写在.aspx 文件下,另一种方法是写在.aspx.cs文件下。具体如下: 1. 在源代码(.aspx)...

汉字占多个字节,若按指定字节长度截取字符串,如何处理1/3个汉字?

截取字符串的函数 按照字节 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”...

截取指定长度文字,超出部分以特定字符代替

这是在做新闻发布系统时收录的一个简单算法。感觉挺好用的。效果如下(新闻标题):   下面是算法源码: #region 将指定字符串按指定长度进行剪切 /// ...

java中计算包含汉字字符串的长度

java中: 1字符=2字节,1字节=8位 英文和数字占一个字节,中文占一个字符,也就是两个字节 在计算的字符串长度的时候,若有汉字,直接用String.length()方法是没法计算出准确的长...

玩转PHP(一)---php中处理汉字字符串长度:strlen和mb_strlen

今天正式开始学习PHP了,不过一不小心发现了一个PHP独特的地方:PHP在处理包含汉字的字符串时要特别注意。 比如

php文字水印,支持自动换行,自动截取(包括汉字)

php文字水印,支持自动换行,自动截取(包括汉字)(www.rijigu.com提供) 首先要建立image.class.php类,这个类选自dedecms的图片水印类,但是经过改变后可实现以下几个...

面试题之——对包含汉字的字符串截取指定字节数

题目:编写一个截取字符串的函数,输入为一个字符串和字节数, 输出为按字节截取的字符串,但要保证汉字不被截取半个,如"我ABC",4,应该截取"我AB",输入"我ABC汉DEF",6, 应该输出"我AB...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)