When PHP intercepts Chinese strings, it often uses two functions iconv_substr and mb_substr. How to choose these two functions? You will understand by referring to the examples introduced in this article.
Sample code, using the functions substr and iconv_substr, mb_substr
<span> 1</span> <span><</span><span>html</span><span>></span> <span> 2</span> <span><</span><span>head</span><span>><</span><span>meta </span><span>charset</span><span>='utf-8'</span><span>></span> <span> 3</span> <span><</span><span>title</span><span>></span>截取中文字符串_脚本学堂_www.jbxue.com<span></</span><span>title</span><span>></span> <span> 4</span> <span></</span><span>head</span><span>></span> <span> 5</span> <span><</span><span>body</span><span>></span> <span> 6</span> <span><?</span><span>php </span><span> 7</span> <span>$str='123脚本学堂456欢迎大家的光临'; </span><span> 8</span> <span>echo substr($str,0,4); </span><span> 9</span> <span>echo '<br>'; </span><span>10</span> <span>echo iconv_substr($str,0,4,'utf-8'); </span><span>11</span> <span>echo '<br>'; </span><span>12</span> <span>echo mb_substr($str,0,4,'utf-8'); </span><span>13</span> <span>?></span> <span>14</span> <span></</span><span>body</span><span>></span> <span>15</span> <span></</span><span>html</span><span>></span>
Note:
The above code uses two functions iconv_substr and mb_substr, both of which can intercept strings under the current character to achieve non-garbled Chinese character interception .
How should you choose?
1. The iconv library may not run correctly on some operating systems, and the GNU extension library needs to be installed to ensure its normal operation. The mb_substr function is more compatible.
2. The iconv function will first convert the current string into the corresponding encoding and then intercept it, while the mb function will directly convert it according to the specified encoding. Perform interception (providing safe multi-byte interception), so the interception efficiency of mb function is higher.
Therefore, the mb_substr function is the most appropriate choice to intercept the Chinese string .