Phpchr () ord () Chinese truncation garbled problem solution

Source: Internet
Author: User
Today, I saw the chr () ord () Chinese text truncation garbled problem. I think it is quite good. I 'd like to share it with you. if you are interested, I can try it out and see how it works. 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.
?>

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.