>  기사  >  백엔드 개발  >  【PHP】substr的应用细节注意

【PHP】substr的应用细节注意

WBOY
WBOY원래의
2016-06-13 10:58:47722검색

【PHP】substr的使用细节注意

  作者:zhanhailiang 日期:2012-12-06

substr只能用于截取单字节编码的字符串, 在使用substr去截取多字节的字符串有可能会出现乱码:

例:

<span class="re0" style="color:rgb(0,0,255)">$a</span> <span class="sy0" style="color:rgb(102,204,102)">=</span> <span class="st0" style="color:rgb(255,0,0)">"百度一下,你是zhan"</span><span class="sy0" style="color:rgb(102,204,102)">;</span><span class="co2" style="color:rgb(128,128,128); font-style:italic">#echo substr($a, 0, 5).PHP_EOL; // 乱码: 百庍</span><span class="co2" style="color:rgb(128,128,128); font-style:italic">#echo substr($a, 0, strlen($a)); // 使用substr截断字符串,若完整截取整个字段时,则不会乱码</span><span class="co1" style="color:rgb(128,128,128); font-style:italic">// 最佳解决方案</span><span class="kw1" style="color:rgb(177,177,0)">echo</span> <span class="kw3" style="color:rgb(0,0,102)">mb_substr</span><span class="br0" style="color:rgb(102,204,102)">(</span><span class="re0" style="color:rgb(0,0,255)">$a</span><span class="sy0" style="color:rgb(102,204,102)">,</span> <span class="nu0" style="color:rgb(204,102,204)">0</span><span class="sy0" style="color:rgb(102,204,102)">,</span> <span class="nu0" style="color:rgb(204,102,204)">10</span><span class="sy0" style="color:rgb(102,204,102)">,</span> <span class="st0" style="color:rgb(255,0,0)">"UTF-8"</span><span class="br0" style="color:rgb(102,204,102)">)</span><span class="sy0" style="color:rgb(102,204,102)">;</span> <span class="co1" style="color:rgb(128,128,128); font-style:italic">// 百度一下,你是zha</span>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.