substr instance
$content = ' I love you www.111cn.net ';
$temp = substr ($content, 4);
Echo $temp;
Results:
Love you www.111cn.net '//
Let's take a look at the function from the right.
$temp = substr ($temp, 0,-4);
The results are:
I love www.111c
OK, let's take a look at the Chinese intercept function.
function Moocutstr ($string, $length, $dot = ' ... ') {
Global $charset;
if (strlen ($string) <= $length) {
return $string;
}
$string = str_replace (Array (' & ', ' " ', ' < ', ' > '), Array (' & ', ' "', ' < ', ' > '), $ string);
$strcut = ';
if (Strtolower ($charset) = = ' Utf-8 ') {
$n = $tn = $noc = 0;
while ($n < strlen ($string)) {
$t = Ord ($string [$n]);
if ($t = = 9 | | $t = 10 | | (<= $t && $t <= 126)) {
$tn = 1; $n + +; $noc + +;
} elseif (194 <= $t && $t <= 223) {
$tn = 2; $n + 2; $noc + 2;
} elseif (224 <= $t && $t < 239) {
$tn = 3; $n + 3; $noc + 2;
ElseIf (<= $t && $t <= 247) {
$tn = 4; $n + 4; $noc + 2;
} elseif (248 <= $t && $t <= 251) {
$tn = 5; $n + 5; $noc + 2;
} elseif ($t = = 252 | | $t = = 253) {
$tn = 6; $n + 6; $noc + 2;
} else {
$n + +;
}
if ($noc >= $length) {
Break
}
}
if ($noc > $length) {
$n-= $tn;
}
$strcut = substr ($string, 0, $n);
} else {
for ($i = 0; $i < $length; $i + +) {
$strcut. = Ord ($string [$i]) > 127? $string [$i]. $string [+ + $i]: $string [$i];
}
}
$strcut = str_replace (Array (' & ', ' "', ' < ', ' > '), Array (' & ', ' " ', ' < ', ' > '), $ Strcut);
return $strcut. $dot;
}
PHP substr It can not automatically identify the Chinese and English, so many friends in the use of substr to read the string will sometimes be garbled, use the second method is OK.