PHP Tutorial String intercept function
There is a string intercept function in PHP substr but this function can only intercept English does not support Chinese and its
Its mix, below we provide three functions, they can support the Chinese and English mixture.
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 intercept function two
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;
$sublen = $sublen;
$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 process 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 ',
' $ ', $str);
}
?>
The above three functions are very good to the Chinese characters, such as interception, well, not to say more of these are from the network
。
http://www.bkjia.com/PHPjc/445416.html www.bkjia.com true http://www.bkjia.com/PHPjc/445416.html techarticle PHP Tutorial string intercept function in PHP there is a string intercept function substr But this function, can only intercept English does not support Chinese and its other blends, below we provide three functions ...