$aaa = "abcdefghjklmnopqrst";
echo substr($aaa,0,20)."...";$bbb ="西哀思地恩,中国俊气,空间,博客,哈哈。";echo substr($bbb,0,20)."...";这二个输出结果显示时长度不一样(因为中文或韩文是站二个字符位置的),ord();
如何判断字符串中含有a~z,A~Z,0~9
以外的字符,并把结果显示长度一样?
echo substr($aaa,0,20)."...";$bbb ="西哀思地恩,中国俊气,空间,博客,哈哈。";echo substr($bbb,0,20)."...";这二个输出结果显示时长度不一样(因为中文或韩文是站二个字符位置的),ord();
如何判断字符串中含有a~z,A~Z,0~9
以外的字符,并把结果显示长度一样?
要长度一样,先做一个编码转换,然后再取,不过可能取到半个汉字
substr($aaa,0,20,'utf8')
substr 是按字节数截取串的。无论是什么编码,得到的结果串长度都是一样的
这一点可以用 strlen 函数加以认证
也就是mb_substr
楼主似乎是在抱怨"输出结果显示时长度不一样",
这个......显示的长度是和字体/字间距的设置有关的,不是一个php能解决的问题.....