php字符串截取函数
Jun 13, 2016 am 11:18 AM
php教程字符串截取函数
在php中有一款字符串截取函数substr但这款函数,只能截取英文不支持中文与其
它的混体,下面我们提供了三款函数,它们可以支持中英文混合体。
function syssubstr($string,$length,$append = false)
{
if (strlen($string) {
return $string;
}
else
{
$i = 0;
while ($i {
$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 = "";
$length = "18";
$append = false;
echo syssubstr($string,$length,$append);
字符串截取函数二
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);
$tmps教程tr='';for($i=0;$i {
if($i>=$start&&$i {
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) return $tmpstr;
}
}$str="新程php培训";
echo cut_str($str,8,0,'gb2312');
函数三
//截取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);
}
?>
上面三款函数都很好对中文字符等进行截取了,好了不说多了这些都是来自于网络
。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
