Home  >  Article  >  Backend Development  >  Sharing tips on using PHP function mb_strcut_PHP tutorial

Sharing tips on using PHP function mb_strcut_PHP tutorial

WBOY
WBOYOriginal
2016-07-15 13:30:27813browse

We are working on the PHP function mb_strcut. Their usage is similar to substr(), except that one more parameter is added at the end of the PHP function mb_strcut to set the encoding of the string. However, most servers do not open php_mbstring.dll. You need to open php_mbstring.dll in php.ini. If we are not sure whether this function is enabled, then we'd better judge first, if(function_exist(mb_string)).

For example:

<ol class="dp-xml"><li class="alt"><span><span class="tag">< ?</span><span class="tag-name">php</span><span> </span></span></li><li><span>echo mb_substr('这样一来我的字符串<br />就不会有乱码^_^', 0, 7, 'utf-8');  </span></li><li class="alt"><span class="tag">?></span><span> </span></span></li></ol>

Output: This way my word

Example of PHP function mb_strcut

<ol class="dp-xml"><li class="alt"><span><span class="tag">< ?</span><span class="tag-name">php</span><span> </span></span></li><li><span>echo mb_strcut('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');  </span></li><li class="alt"><span class="tag">?></span><span> </span></span></li></ol>

Output: Like this

As can be seen from the above example, mb_substr splits characters by words, while the PHP function mb_strcut splits characters by bytes, but neither will produce half a character. phenomenon, but sometimes the intercepted things will be incorrect when outputting, some are correct and some are incorrect, and the Chinese characters will also appear garbled. The main reasons for these phenomena are the way you program the function and the way you display it. It is caused by inconsistent encoding methods of web pages.
Here we also introduce a custom function for intercepting Chinese strings in PHP:

PHP method to intercept Chinese strings without garbled characters

<ol class="dp-xml">
<li class="alt"><span><span>function GBsubstr($string, $start, $length) {  </span></span></li>
<li>
<span>if(strlen($string)</span><span class="tag">></span><span>$length){  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">str</span><span>=</span><span class="attribute-value">null</span><span>;  </span>
</li>
<li>
<span>$</span><span class="attribute">len</span><span>=$start+$length;  </span>
</li>
<li class="alt">
<span>for($</span><span class="attribute">i</span><span>=$start;$i</span><span class="tag"><</span><span>$len;$i++){  </span></li><li><span>if(ord(substr($string,$i,1))</span><span class="tag">></span><span>0xa0){  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">str.</span><span>=</span><span class="attribute-value">substr</span><span>($string,$i,2);  </span>
</li>
<li><span>$i++;  </span></li>
<li class="alt"><span>}else{  </span></li>
<li>
<span>$</span><span class="attribute">str.</span><span>=</span><span class="attribute-value">substr</span><span>($string,$i,1);  </span>
</li>
<li class="alt"><span>}  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>return $str.'...';  </span></li>
<li><span>}else{  </span></li>
<li class="alt"><span>return $string;  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>} </span></li>
</ol>

The above are the main steps to use the PHP function mb_strcut to solve the problem after garbled characters appear.


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/446298.htmlTechArticleWe are doing the PHP function mb_strcut. The usage of the two of them is similar to substr(), but at the end of the PHP function mb_strcut You need to add one more parameter to set the encoding of the string, but generally...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn