ホームページ >バックエンド開発 >PHPチュートリアル >PHP関数mb_strcut_PHPチュートリアルの使い方ヒントの共有
私たちは PHP 関数 mb_strcut の使用法に似ていますが、文字列のエンコーディングを設定するために PHP 関数 mb_strcut の最後にもう 1 つのパラメータが追加される点が異なります。 php_mbstring.dll を開いていない場合は、php.ini で php_mbstring.dll を開く必要があります。この関数が有効になっているかどうかが不明な場合は、まず if(function_exist(mb_string)) を判断することをお勧めします。 :
<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>
出力: このように、私の言葉
PHP 関数 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>
出力: このように
上記の例からわかるように、mb_substr は文字を単語ごとに分割しますが、PHP 関数はmb_strcut は文字を単語ごとに区切りますが、文字が半分になる現象は発生しませんが、出力時に切り取ったものが正しくない場合があり、中国語の文字も表示されます。これらの現象は、関数のコーディング方法が、表示する Web ページのコーディング方法と一致していないことが主な原因です。
ここでは、中国語の文字列をインターセプトするための PHP のカスタム関数も紹介します:
文字化けせずに中国語の文字列をインターセプトする PHP の方法
<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>
上記は、PHP 関数 mb_strcut を使用して問題を解決するための主な手順です。文字化けが出る。
http://www.bkjia.com/PHPjc/446298.html