Phpchr () ord () Chinese truncation garbled problem solution. Copy the code as follows :? Php $ lenth19; $ str how to display only the first few words in the long news title, which is replaced by... later ?; Echostrlen ($ str) $ lenth? $ Str :( sub
The code is as follows:
$ Lenth = 19;
$ Str = "how to display only the first few words in a long news title, which is replaced? ";
Echo strlen ($ str) <= $ lenth? $ Str: (substr ($ str, 0, $ lenth). chr (0 )."....");
?>
The code is as follows:
/*
@ Another method: Use the ord () function:
@ Applicable to gb2312 encoding:
*/
$ Str = "how to display only the first few words in a long news title, which is replaced? ";
Function gb2312_substr ($ str, $ limit ){
$ Restr = '';
For ($ I = 0; $ I <$ limit-3; $ I ++ ){
$ Restr. = ord ($ str [$ I])> 127? $ Str [$ I]. $ str [++ $ I]: $ str [$ I];
}
Return $ restr;
}
/*
@ The following only applies to UTF-8 encoding;
*/
Function utf8_substr ($ str, $ limit ){
$ Restr = '';
For ($ I = 0; $ I <$ limit-3; $ I ++ ){
$ Restr. = ord ($ str [$ I])> 127? $ Str [$ I]. $ str [++ $ I]. $ str [++ $ I]: $ str [$ I];
}
Return $ restr;
}
// Explain the first one above: chr (0) is not null, null is nothing, and chr (0) is 0. The hexadecimal value is 0x00, indicating that the binary value is 00000000. although chr (0) does not show anything, it is a character. Although chr (0) does not display anything, it is a character. When a Chinese character is truncated, according to the encoding rules, he always needs to pull the other characters behind it as an explanation of the Chinese character. this is the cause of garbled characters.
?>
The http://www.bkjia.com/PHPjc/319409.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/319409.htmlTechArticle code is as follows :? Php $ lenth = 19; $ str = "how can I show only the first few words in the long news title, and then use ...... to replace it? "; Echo strlen ($ str) = $ lenth? $ Str: (sub...