php 中文字符串截取函数-->比较好的
来源:互联网 发布:淘宝预售全款规则 编辑:程序博客网 时间:2024/05/22 12:51
<?
#============================================================================
# 中文字符串截取函数
# 参数说明:
# $fStr:需要截最的原始字符串;
# $fStart:从第几个汉字后开始载取,从头开始截取使用 0
# $fLen:截取几个汉字
# $fCode:原始字符串的编码方式,默认为 gb2312 或 big5,UTF-8 按 UTF-8 编码方式截取
#----------------------------------------------------------------------------
Function msubstr ($fStr, $fStart, $fLen, $fCode = "") {
switch ($fCode) {
case "UTF-8" :
preg_match_all("/[/x01-/x7f]|[/xc2-/xdf][/x80-/xbf]|/xe0[/xa0-/xbf][/x80-/xbf]|[/xe1-/xef][/x80-/xbf][/x80-/xbf]|/xf0[/x90-/xbf][/x80-/xbf][/x80-/xbf]|[/xf1-/xf7][/x80-/xbf][/x80-/xbf][/x80-/xbf]/", $fStr, $ar);
if(func_num_args() >= 3) {
if (count($ar[0])>$fLen) {
return join("",array_slice($ar[0],$fStart,$fLen))."...";
}
return join("",array_slice($ar[0],$fStart,$fLen));
} else {
return join("",array_slice($ar[0],$fStart));
}
break;
default:
$fStart = $fStart*2;
$fLen = $fLen*2;
$strlen = strlen($fStr);
for ( $i = 0; $i < $strlen; $i++ ) {
if ( $i >= $fStart && $i < ( $fStart+$fLen ) ) {
if ( ord(substr($fStr, $i, 1)) > 129 ) $tmpstr .= substr($fStr, $i, 2);
else $tmpstr .= substr($fStr, $i, 1);
}
if ( ord(substr($fStr, $i, 1)) > 129 ) $i++;
}
if ( strlen($tmpstr) < $strlen ) $tmpstr .= "...";
Return $tmpstr;
}
}
?>
#============================================================================
# 中文字符串截取函数
# 参数说明:
# $fStr:需要截最的原始字符串;
# $fStart:从第几个汉字后开始载取,从头开始截取使用 0
# $fLen:截取几个汉字
# $fCode:原始字符串的编码方式,默认为 gb2312 或 big5,UTF-8 按 UTF-8 编码方式截取
#----------------------------------------------------------------------------
Function msubstr ($fStr, $fStart, $fLen, $fCode = "") {
switch ($fCode) {
case "UTF-8" :
preg_match_all("/[/x01-/x7f]|[/xc2-/xdf][/x80-/xbf]|/xe0[/xa0-/xbf][/x80-/xbf]|[/xe1-/xef][/x80-/xbf][/x80-/xbf]|/xf0[/x90-/xbf][/x80-/xbf][/x80-/xbf]|[/xf1-/xf7][/x80-/xbf][/x80-/xbf][/x80-/xbf]/", $fStr, $ar);
if(func_num_args() >= 3) {
if (count($ar[0])>$fLen) {
return join("",array_slice($ar[0],$fStart,$fLen))."...";
}
return join("",array_slice($ar[0],$fStart,$fLen));
} else {
return join("",array_slice($ar[0],$fStart));
}
break;
default:
$fStart = $fStart*2;
$fLen = $fLen*2;
$strlen = strlen($fStr);
for ( $i = 0; $i < $strlen; $i++ ) {
if ( $i >= $fStart && $i < ( $fStart+$fLen ) ) {
if ( ord(substr($fStr, $i, 1)) > 129 ) $tmpstr .= substr($fStr, $i, 2);
else $tmpstr .= substr($fStr, $i, 1);
}
if ( ord(substr($fStr, $i, 1)) > 129 ) $i++;
}
if ( strlen($tmpstr) < $strlen ) $tmpstr .= "...";
Return $tmpstr;
}
}
?>
- php 中文字符串截取函数-->比较好的
- PHP 函数 截取字符串效率的比较
- 支持中文的PHP字符串截取函数
- php 中文字符串截取的函数
- PHP中文字符串截取函数
- PHP中文字符串截取函数
- PHP截取中文字符串函数
- php 中文字符串截取函数
- php的中文字符串截取
- PHP截取含中文的混合字符串长度的函数
- php 字符串 函数 查找 比较 截取
- php截取中文字符串函数及测试
- PHP 中文字符串截取和翻转函数
- 多个PHP中文字符串截取函数
- php mb_substr()函数截取中文字符串
- PHP 中文字符串截取无乱码的方法以及php汉字截取函数_preg_split()
- 对于比较好的支持中文截取字符串的方法。mb_substr
- PHP 截取字符串的函数
- 站点被baidu收录了
- insertAdjacentElement 插入指定对象到文档结构
- 跟踪报道:中国国际数字城市建设技术与设备博览会(简报)
- 通过层实现页面部分内容展开与收缩
- JavaScript小技巧
- php 中文字符串截取函数-->比较好的
- 发一个身份证验证的javascript在此
- WAS5 导出应用的问题 *.ear文件为空
- PHP中时间和日期函数总结
- 紫皮书(Purple Book) - 计算机程序的构造和解释
- moto v系列 手机移植心得
- Struts中不同的Action和ActionForm组合
- C#面向对象设计模式纵横谈(4):Builder 生成器(创建型模式)
- 用PHP制作饼图调查表