php截取中英文混合字符串方法
2011-09-06 11:45
495 查看
function cut($Str, $Length)
{//$Str为截取字符串,$Length为需要截取的长度
global $s;
$i = 0;
$l = 0;
$ll = strlen($Str);
$s = $Str;
$f = true;
while ($i <= $ll) {
if (ord($Str{$i}) < 0x80) {
$l++; $i++;
} else if (ord($Str{$i}) < 0xe0) {
$l++; $i += 2;
} else if (ord($Str{$i}) < 0xf0) {
$l += 2; $i += 3;
} else if (ord($Str{$i}) < 0xf8) {
$l += 1; $i += 4;
} else if (ord($Str{$i}) < 0xfc) {
$l += 1; $i += 5;
} else if (ord($Str{$i}) < 0xfe) {
$l += 1; $i += 6;
}
if (($l >= $Length - 1) && $f) {
$s = substr($Str, 0, $i);
$f = false;
}
if (($l > $Length) && ($i < $ll)) {
$s = $s . '...'; break; //如果进行了截取,字符串末尾加省略符号“...”
}
}
return $s;
}
{//$Str为截取字符串,$Length为需要截取的长度
global $s;
$i = 0;
$l = 0;
$ll = strlen($Str);
$s = $Str;
$f = true;
while ($i <= $ll) {
if (ord($Str{$i}) < 0x80) {
$l++; $i++;
} else if (ord($Str{$i}) < 0xe0) {
$l++; $i += 2;
} else if (ord($Str{$i}) < 0xf0) {
$l += 2; $i += 3;
} else if (ord($Str{$i}) < 0xf8) {
$l += 1; $i += 4;
} else if (ord($Str{$i}) < 0xfc) {
$l += 1; $i += 5;
} else if (ord($Str{$i}) < 0xfe) {
$l += 1; $i += 6;
}
if (($l >= $Length - 1) && $f) {
$s = substr($Str, 0, $i);
$f = false;
}
if (($l > $Length) && ($i < $ll)) {
$s = $s . '...'; break; //如果进行了截取,字符串末尾加省略符号“...”
}
}
return $s;
}
相关文章推荐
- php 截取中英文混合字符串的方法
- PHP针对中英文混合字符串长度判断及截取方法示例
- PHP针对中英文混合字符串长度判断及截取方法
- php截取字符串方法, 让英文,中文,中英文混合差不多长
- php截取中英文混合字符串
- PHP获取中英文混合字符串长度及截取
- PHP截取中英文混合字符串中的英文
- Java的中英文混合截取字符串的问题解决方法
- 用JS来实现于截取中英文混合字符串方法
- Java的中英文混合截取字符串的问题解决方法
- 关于Java的中英文混合截取字符串的问题解决方法
- php混合字符串长度和截取 中英文
- PHP获取中英文混合字符串长度及截取
- C#实现中英文混合字符串截取的方法
- PHP中字符串超长的中英文混合截取
- C#实现中英文混合字符串截取的方法
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- PHP 获取中英文混合字符串长度
- php可包含混合字符串长度的截取函数
- 近期写的关于中英文混合字符串中的大写字母转化为小写字母的方法