php切り取り文字列関数substr、iconv_substrsubstrの例及び優劣分析


サンプルコードは、関数substrとiconv_を使用しています。substrスト

<html>
<head><meta charset='utf-8'>
<title> _ _www.jb51.net</title>
</head>
<body>
<?php
$str='123 456 ';
echo substr($str,0,4);
echo '<br>';
echo iconv_substr($str,0,4,'utf-8');
echo '<br>';
echo mb_substr($str,0,4,'utf-8');
?>
</body>
</html>
説明:以上のコードは二つの関数iconv_を使用しました。substrとmb_substrは、現在の文字の下で文字列の切り取りを行い、中国語文字の切り取りが乱れないようにすることができます。
どうやって選ぶべきですか?
1、iconvライブラリはいくつかのオペレーティングシステムで正しく動作しないかもしれません。GNU拡張ライブラリを設置して、正常な運行を保証する必要があります。mbsubstr関数の互換性がより良いです。
2、iconv関数は、現在の文字列をそれぞれの符号化に変換してから切り取ります。mb関数は指定された符号化に直接切り取ります。だから、mb関数の切り取り効率はより高いです。
だから、mb_substr関数は中国語文字列の切り取りが最適です。