The example in this article describes the solution of PHP intercepting Chinese strings without the ? sign. Share it with everyone for your reference, the details are as follows:
When PHP intercepts a mixed string of Chinese and English, the last Chinese character is often split into two halves, for example: intercepting the first 18 characters of the string
<?php $text = "1欢迎访问sina新浪播客"; $value = substr($text, 0, 18); echo $value."<BR>"; ?>
The output is:
1欢迎访问新浪?BR>
So I wrote the following code to determine if the number of Chinese character bytes in a mixed Chinese and English string is an odd number , then one less byte will be intercepted to ensure complete display of Chinese characters.
<?php $text = "1欢迎访问sina新浪播客"; $value = substr($text, 0, 18); $value_length = strlen($value); $value_count = 0; for ($i = 0; $i < $value_length; $i++) { if (ord($value{$i}) > 127) { $value_count++; } } if ($value_count % 2 != 0) { $value = substr($text, 0, $value_length - 1); } echo $value."<BR>"; ?>
The output is:
1欢迎访问sina新浪
I hope this article will be useful to everyone in PHP programming. helped.
For more related articles on PHP implementation of intercepting Chinese strings without appearing, please pay attention to the PHP Chinese website!