欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【常见的 PHP 截取字符串函数整理】,下面是详细的分享!
常见的 PHP 截取字符串函数整理
1、截取GB2312字符用的函数
<?php //截取中文字符串 function mysubstr($str, $start, $len) { $tmpstr=""; $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; } ?> |
2. 截取utf8编码的多字节字符串
| <?php //截取utf8字符串 function utf8Substr($str, $from, $len) { return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'. '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s', '$1',$str); } ?> |
<?php
function cut_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) return join('', array_slice($t_string[0], $start, $sublen))."...";
return join('', 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;
}
}
$str="abcd需要截取的字符串";
echo cut_str($str, 8, 0, 'gb2312');
?>
<?php
function sysSubStr($String,$Length,$Append=false)
{
if (strlen($String) <=$Length )
{
return $String;
}
else
{
$I=0;
while ($I < $Length)
{
$StringTMP=substr($String,$I,1);
if ( ord($StringTMP) >=224 )
{
$StringTMP=substr($String,$I,3);
$I=$I + 3;
}
elseif( ord($StringTMP) >=192 )
{
$StringTMP=substr($String,$I,2);
$I=$I + 2;
}
else
{
$I=$I + 1;
}
$StringLast[]=$StringTMP;
}
$StringLast=implode("",$StringLast);
if($Append)
{
$StringLast .="...";
}
return $StringLast;
}
}
$String="book.chinaz.com -- 站长书库、站长教程";
$Length="18";
$Append=false;
echo sysSubStr($String,$Length,$Append);
?>
以上所分享的是关于常见的 PHP 截取字符串函数整理,下面是编辑为你推荐的有价值的用户互动:
相关问题:PHP的字符串截取函数是什么?
答:substr() $str = substr($strs, 0, 6); //取前面6个 $str = substr($strs, 6, 9); //取后面9个 $str = substr($strs, -2, 1); //从到数第二个取一个 >>详细
相关问题:PHP截取一个字符串里某个符号前面的字符串
答:方法有很多种 随便给你搞个吧 $yourstr='yourneed|youad|something'; $arr=explode('|',$yourstr); $yourneed=$arr[0]; >>详细
相关问题:php中有几个截取字符创的函数?
答:php字符串截取函数可分为英文截取和中文截取: php截取英文字符串的函数事例substr()函数 php截取中文字符串长度的mb_substr()、mb_strcut()函数 输出:这样一来我的字 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
