PHP截取UTF-8字符串,解决半字符问题。
2007-07-24 22:28
441 查看
/******************************************************************
* PHP截取UTF-8字符串,解决半字符问题。
* 英文、数字(半角)为1字节(8位),中文(全角)为3字节
* @return 取出的字符串, 当$len小于等于0时, 会返回整个字符串
* @param $str 源字符串
* $len 左边的子串的长度
****************************************************************/
function utf_substr($str,$len){
for($i=0;$i<$len;$i++)
{
$temp_str=substr($str,0,1);
if(ord($temp_str) > 127)
{
$i++;
if($i<$len)
{
$new_str[]=substr($str,0,3);
$str=substr($str,3);
}
}
else
{
$new_str[]=substr($str,0,1);
$str=substr($str,1);
}
}
return join($new_str);
}
相关文章推荐
- PHP截取UTF-8字符串,解决半字符问题
- php中隐形字符65279(utf-8的BOM头)问题和fwrite写入文件bom头导致的乱码问题解决
- php 解决substr()截取中文字符乱码问题
- php中隐形字符65279(utf-8的BOM头)问题和fwrite写入文件bom头导致的乱码问题解决
- php smarty截取中文字符乱码问题?gb2312/utf-8
- PHP 字符截取 解决中文的截取问题,不用mb系列
- 在php中使用mb_substr($row['title'],0,15,'utf-8')解决获取的字符后面几们的乱码问题
- PHP字符串截取函数(解决中文乱码问题!支持UTF-8和GB2312)
- smarty截取中文字符乱码问题的解决支持utf-8编码
- php 解决substr()截取中文字符乱码问题
- 在php中使用mb_substr($row['title'],0,15,'utf-8')解决获取的字符后面几们的乱码问题
- PHP 字符截取 解决中文的截取问题,不用mb系列
- php smarty截取中文字符乱码问题?gb2312/utf-8
- PHP处理中文字符串中的特殊字符解决Oracle插入报错的问题
- 解决source命令导入 带utf-8字符的.sql 产生乱码的问题
- 解决DOS窗口中显示UTF-8字符问题
- mysql+php的utf-8乱码问题的解决!
- PHP中iconv函数转码时截断字符问题的解决方法
- php截取utf-8中文字符串乱码的解决方法
- php utf-8的 BOM 问题解决