PHP string interception function_PHP tutorial

WBOY
Release: 2016-07-20 11:01:50
Original
955 people have browsed it

php tutorial string interception function
There is a string interception function substr in php, but this function can only intercept English and does not support Chinese.

Its hybrid, below we provide three functions, which can support a mixture of Chinese and English.

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 = "";
$length = "18";
$append = false;
echo syssubstr($string,$length,$append);

String Interception Function 2

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 tutorial tr='';

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="New php training";
echo cut_str($str,8,0,'gb2312');


Function three

//Intercept utf8 string
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);
}
?>


The above three functions are very good at intercepting Chinese characters, etc. I won’t say too much. These are all from the Internet

.


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/445416.htmlTechArticlephp tutorial string interception function There is a string interception function substr in php, but this function can only intercept English does not support the mixing of Chinese and other languages. We provide three functions below...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!