PHP中可以避免乱码的截取汉字
来源:互联网 发布:药品网络推广 编辑:程序博客网 时间:2024/05/20 19:32
对字符的接取可以用substr() 之后看了一下文章可以用mb的扩展库mb_substr() 但如果中E数字混排的时候
可能会出现乱码 网上google 下 找到这个 收藏了
<?
/*
* 可以避免乱码的截取汉字
* 参数 $str 为字符串,$start 为开始字符,$len 结束字符
* 返回截取后的字符
*/
function msubstr($str, $start, $len) {
$tmpstr = "";
$strlen = $start + $len;
for($i = 0; $i < $strlen; $i++) {
if(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2);
$i++;
} else
$tmpstr .= substr($str, $i, 1);
}
return $tmpstr;
}
?>
<?php
/*
#$start为起始位置,默认为0
#$len为截取长度,如遇半个汉字,则自动降低长度而不是取整个汉字,保证了不会超过规定的长度
*/
function substr_cn($str,$len,$start=0)
{
$strlen=strlen($str);
for($i=0;$i<$strlen;$i++)
{
if($i>=$start&&$i<($start+$len))
{
if(ord(substr($str,$i,1))>0xa1)
{
$tmpstr.=substr($str,$i,2);
$i++;
}
else
$tmpstr.=substr($str,$i,1);
}
}
if(strlen($tmpstr)>$len)
{
$len--;
return substr_cn($str,$len,$start);
}
return $tmpstr;
}
//-------------------------------------------------
//示例
echo substr_cn("123as中国PHP联盟",9,1);
echo "<br>";
echo substr_cn("123as中国PHP联盟",10);
?>
/*
* 可以避免乱码的截取汉字
* 参数 $str 为字符串,$start 为开始字符,$len 结束字符
* 返回截取后的字符
*/
function msubstr($str, $start, $len) {
$tmpstr = "";
$strlen = $start + $len;
for($i = 0; $i < $strlen; $i++) {
if(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2);
$i++;
} else
$tmpstr .= substr($str, $i, 1);
}
return $tmpstr;
}
?>
<?php
/*
#$start为起始位置,默认为0
#$len为截取长度,如遇半个汉字,则自动降低长度而不是取整个汉字,保证了不会超过规定的长度
*/
function substr_cn($str,$len,$start=0)
{
$strlen=strlen($str);
for($i=0;$i<$strlen;$i++)
{
if($i>=$start&&$i<($start+$len))
{
if(ord(substr($str,$i,1))>0xa1)
{
$tmpstr.=substr($str,$i,2);
$i++;
}
else
$tmpstr.=substr($str,$i,1);
}
}
if(strlen($tmpstr)>$len)
{
$len--;
return substr_cn($str,$len,$start);
}
return $tmpstr;
}
//-------------------------------------------------
//示例
echo substr_cn("123as中国PHP联盟",9,1);
echo "<br>";
echo substr_cn("123as中国PHP联盟",10);
?>
- PHP中可以避免乱码的截取汉字
- php截取字符串可以避免乱码 utf8
- php中截取汉字,避免半个字节的问题
- PHP截取汉字乱码问题
- PHP中汉字截取
- PHP中汉字截取
- gb2312汉字截取乱码 UTF8 中文乱码 汉字截取乱码 PHP截取汉字乱码
- PHP中处理截取汉字,出现乱码问题的2个类
- PHP中处理截取汉字,出现乱码问题的2个类
- PHP中处理截取汉字,出现乱码问题的2个类
- PHP 中文字符串截取无乱码的方法以及php汉字截取函数_preg_split()
- 老话重提--PHP中汉字截取
- substr mb_substr 解决PHP substr 截取汉字乱码问题
- PHP的Trim截取乱码
- 解决php中截取字符串的中文乱码问题
- 如何设置可以避免php代码中的中文在浏览器中成为乱码?
- 自动识别汉字的PHP截取字符串函数
- PHP截取各种编码的汉字字符串
- 今天,你常想一二了吗?
- Oracle 几个服务各代表什么作用?
- 痛定思痛
- 2006年总结
- 转一个关于正则表达式的帖子
- PHP中可以避免乱码的截取汉字
- 关于Ajax 错误:'sys'未定义解决方法
- c++ -- Preprocess Header(pch file)
- 100个ORACLE相关的网址大全
- 使用 根据语言环境不同 而显示不同的 资源本地化 ASP.NET 网页
- SODB RBSP EBSP区别
- 多媒体传输流控制
- SSO技术简介
- ActiveBPEL Designer整合到Eclipse