Home > Article > Backend Development > PHP string interception function, supports mixed Chinese and English
PHP string interception function supports mixed Chinese and English. In the past, we used the functions that come with PHP to intercept strings. Today I will take a look at a string interception function that supports mixed Chinese and English PHP code examples.
php string interception function code is as follows:
function cutstr($string, $sublen=10, $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++;
}//Open source software: phpfensi.com
//if(strlen($tmpstr)<$strlen) $tmpstr.= "...";
return $tmpstr;
}
}