js与php中一些相似函数的对比

一:substr

js中:stringObject.substr(start,length)   一个中文算一个字符,一个英文也算一个字符  

<script type="text/javascript">
var str="我们ello world!"      
document.write(str.substr(1,2))  //输出“们e”
</script>

php中:

string substr ( string $string , int $start [, int $length ] )   这个函数对英文截取有效,对中文结果很变态,乱码
string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )  当$encoding为utf-8时,一个中文一个字符,一个英文一个字符
$encoding为gbk时,截取会出现乱码
header ('Content-type: text/html; charset=utf-8');
echo substr('我们ello world!', 1, 3); //输出 “��”
echo substr('我们ello world!', 2, 3); //输出 “���”

echo mb_substr('我们ello world!', 1, 3, 'utf-8'); //输出“们el” echo mb_substr('我们ello world!', 2, 3, 'utf-8'); //输出“ell”

echo mb_substr('我们ello world!', 1, 3, 'gb2312');  //输出“浠�”   
echo mb_substr('我们ello world!', 2, 3, 'gb2312');  //输出“ell
exit;

综上所述:php中截取中英文混用函数,还是找通用的截取函数,不要用内部的这两个函数

 
 

 

posted @ 2013-12-07 11:33  一束光  阅读(873)  评论(0编辑  收藏  举报

友情链接

CFC4N