Maison  >  Article  >  développement back-end  >  PHP Substr库函数的功能介绍_PHP教程

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

WBOY
WBOYoriginal
2016-07-15 13:31:301081parcourir

初学下面这个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字符...
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn