>  기사  >  백엔드 개발  >  PHP Substr库函数的功能介绍_PHP教程

PHP Substr库函数的功能介绍_PHP教程

WBOY
WBOY원래의
2016-07-15 13:31:301078검색

初学下面这个PHP Substr库函数程序不算完美,但处理一般的中文(GB18030,GB2312,BIG5)是没有问题的。这个函数不适合utf-8编码的文字。

<ol class="dp-xml">
<li class="alt"><span><span>//$str字符串  </span></span></li>
<li><span>//$max 最大字符数  </span></li>
<li class="alt"><span>function Substring($str,$max){  </span></li>
<li>
<span>$</span><span class="attribute">cnt</span><span>=</span><span class="attribute-value">0</span><span>; //实际计数  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">index</span><span>=</span><span class="attribute-value">0</span><span>; //当前索引  </span>
</li>
<li>
<span>$</span><span class="attribute">output</span><span>=</span><span class="attribute-value">''</span><span>; //输出  </span>
</li>
<li class="alt"><span>//  </span></li>
<li>
<span>while($cnt</span><span class="tag"><span>$max && $index</span><span class="tag"><span class="tag-name">strlen</span><span>($str)){  </span></span></span>
</li>
<li class="alt">
<span>$</span><span class="attribute">output.</span><span>=$str[$index];  </span>
</li>
<li><span>//big5  </span></li>
<li class="alt">
<span>if(ord($str[$index])</span><span class="tag">></span><span>=0x81 &&<br> ord($str[$index])</span><span class="tag"><span>=0xfe){  </span></span>
</li>
<li>
<span>if($index+1</span><span class="tag"><span class="tag-name">strlen</span><span>($str)){  </span></span>
</li>
<li class="alt">
<span>if( (ord($str[$index+1])</span><span class="tag">></span><span>=0x40 <br>&& ord($str[$index+1])</span><span class="tag"><span class="tag-name">0x7e</span><span>)   </span></span>
</li>
<li>
<span>|| (ord($str[$index+1])</span><span class="tag">></span><span>=0xa1 <br>&& ord($str[$index+1])</span><span class="tag"><span>=0xfe) ){  </span></span>
</li>
<li class="alt"><span>$index++;  </span></li>
<li>
<span>$</span><span class="attribute">output.</span><span>=$str[$index];  </span>
</li>
<li class="alt"><span>}  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>//gb2312  </span></li>
<li class="alt">
<span>else if(ord($str[$index])</span><span class="tag">></span><span>=0xa1<br> && ord($str[$index])</span><span class="tag"><span>=0xf7){  </span></span>
</li>
<li>
<span>$</span><span class="attribute">output.</span><span>=$str[$index];  </span>
</li>
<li class="alt">
<span>if($index+1</span><span class="tag"><span class="tag-name">strlen</span><span>($str)){  </span></span>
</li>
<li>
<span>if(ord($str[$index+1])</span><span class="tag">></span><span>=0xa1 <br>&& ord($str[$index+1])</span><span class="tag"><span class="tag-name">0xfe</span><span>){  </span></span>
</li>
<li class="alt"><span>$index++;  </span></li>
<li>
<span>$</span><span class="attribute">output.</span><span>=$str[$index];  </span>
</li>
<li class="alt"><span>}  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>else{   </span></li>
<li class="alt"><span>}  </span></li>
<li><span>$cnt++;  </span></li>
<li class="alt"><span>$index++;  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>return $output;  </span></li>
<li><span>}  </span></li>
</ol>

以上代码示例就是PHP Substr库函数在截取中文字符时的具体使用方法。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446214.htmlTechArticle初学 下面这个PHP Substr库函数程序不算完美,但处理一般的中文(GB18030,GB2312,BIG5)是没有问题的。这个函数不适合utf-8编码的文字。 //$str字符...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.