The PHP string interception custom function is a function we often use in the development process. Generally, it is OK to use PHP’s built-in functions, but it is not particularly easy to use, especially the support for Chinese is not particularly friendly, so we use our own Customize one.
//$Str为截取字符串,$Length为需要截取的长度 function cut($Str, $Length,$more=true) { global $s; $i = 0; $l = 0; $ll = strlen($Str); $s = $Str; $f = true; while ($i <= $ll) { if (ord($Str{$i}) < 0x80) { $l++; $i++; } else if (ord($Str{$i}) < 0xe0) { $l++; $i += 2; } else if (ord($Str{$i}) < 0xf0) { $l += 2; $i += 3; } else if (ord($Str{$i}) < 0xf8) { $l += 1; $i += 4; } else if (ord($Str{$i}) < 0xfc) { $l += 1; $i += 5; } else if (ord($Str{$i}) < 0xfe) { $l += 1; $i += 6; } if (($l >= $Length - 1) && $f) { $s = substr($Str, 0, $i); $f = false; } if (($l > $Length) && ($i < $ll) && $more) { $s = $s . '...'; break; //如果进行了截取,字符串末尾加省略符号“...” } } return $s; }
The calling method is very simple. Just call the method name directly in an ordinary php file:
cut();
, but parameters must be passed in. Generally, the first and second are required, and the third is optional
For example, if we want to intercept the first 10 characters of a string, then we call
cut($str,10);
like this, where $str is the string to be intercepted and 10 is the length.
Because by default, if the length before interception exceeds the length after interception, the excess part function will use '...' by default to replace the following string
If we don't want the excess part to be hidden, replace it with ' ...', then we only need to add another parameter 'false' at the end, such as
cut($str,10,false);