PHP intercepts Chinese string function instances,
This article describes the PHP interception of Chinese string functions. Share to everyone for your reference. The implementation method is as follows:
Copy CodeThe code is as follows: <?php
Chinese string interception
function Substr_zh ($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))." ...";
Array_slice () takes a value out of the array according to the condition, parameter (array, start position, [length])
}else{
return join ("', Array_slice ($t _string[0], $start, $sublen));
}
}else{
$start = $start;
$sublen = $sublen;
$strlen = strlen ($string);
$tmpstr = ";
for ($i =0; $i < $strlen; $i + +) {
if ($i > $start && $i < ($start + $sublen)) {
if (Ord (substr ($string, $i, 1)) >129) {
Ord (): Returns the ASCII value of the first character of a string
SUBSTR (): Returns part of a string
$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;
}
}
$string = "Roof of the roof of the plight of the 檲 on the stall Ken stuck on the right foot lovable have";
Echo Substr_zh ($string, 10,0, ' gb2312 ');
?>
I hope this article is helpful to everyone's PHP programming.
http://www.bkjia.com/PHPjc/959883.html www.bkjia.com true http://www.bkjia.com/PHPjc/959883.html techarticle PHP intercepts Chinese string function instances, this article describes the PHP interception of Chinese string functions. Share to everyone for your reference. The implementation is as follows: Copy code code as follows ...