时间:2021-05-26
截取字符串
<?php
$string="2006年4月我又长大了一岁!";
echosubstr($string,1)."...";
//截取字符串
functionSubstrGB($in,$num)
{
$pos=0;
$out="";
while($pos<strlen($in))
{
$c=substr($in,$pos,1);
if($c=="\n")break;
if(ord($c)>128)
{
$out.=$c;
$pos++;
$c=substr($in,$pos,1);
$out.=$c;
}
else
{
$out.=$c;
}
$pos++;
if($pos>=$num)break;
}
return$out;
}
echoSubstrGB($string,8);
?>
<?php
/***************************************************************************
*cut_string.php
*------------------------------
*Date:Jul16,2005
*Copyright:none
*Mail:
*
*作用:截取中文字符.
*
*
***************************************************************************/
functioncut_str($string,$sublen,$start=0,$code='UTF-8')
{
if($code=='UTF-8')
{
$pa="/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/";
preg_match_all($pa,$string,$t_string);
if(count($t_string[0])-$start>$sublen)returnjoin('',array_slice($t_string[0],$start,$sublen))."...";
returnjoin('',array_slice($t_string[0],$start,$sublen));
}
else
{
$start=$start*2;
$sublen=$sublen*2;
$strlen=strlen($string);
$tmpstr='';
for($i=0;$i<$strlen;$i++)
{
if($i>=$start&&$i<($start+$sublen))
{
if(ord(substr($string,$i,1))>129)$tmpstr.=substr($string,$i,2);
else$tmpstr.=substr($string,$i,1);
}
if(ord(substr($string,$i,1))>129)$i++;
}
if(strlen($tmpstr)<$strlen)$tmpstr.="...";
return$tmpstr;
}
}
echo"<br>".cut_str($string,8,$start=0,$code='sdf');
?>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
复制代码代码如下://截取字符串长度。支持utf-8和gb2312编码。若为gb2312,先将其转为utf-8,在utf-8的基础上截取然后再转换回来funct
php截取utf-8格式的字符串php中,我们经常需要截取字符串。英文字符占用一个字节,中文字符占用两个字节,但中文字符占用两个字节是相对于GBK编码而言但是在
复制代码代码如下:截取GB2312中文字符串:复制代码代码如下:截取utf8编码的多字节字符串:复制代码代码如下:UTF-8、GB2312都支持的汉字截取函数:
1、UTF-8、GB2312都支持的汉字截取函数复制代码代码如下:2、截取utf8编码的多字节字符串复制代码代码如下:3、截取GB2312中文字符串复制代码代码
支持多种编码的中文字符串截取函数!复制代码代码如下:/**@todo中文截取,支持gb2312,gbk,utf-8,big5**@paramstring$str