Home > php教程 > php手册 > PHP Substr库函数的功能介绍

PHP Substr库函数的功能介绍

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-13 11:08:27
Original
920 people have browsed it

初学下面这个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>
Copy after login

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


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template