使用php实现截取指定长度
2015-01-24信息快讯网
以下是对使用php实现截取指定长度的方法进行了详细的分析介绍,需要的朋友可以过来参考下
PHP语言: 根据中文裁减字符串
function cutstr($string,$length, $dot = ' ...') {
if (strlen($string) <= $length) {
return$string;
}
$pre = chr(1);
$end = chr(1);
$string = str_replace(array('&','"', '<', '>'),array($pre . '&'. $end, $pre . '"' . $end, $pre . '<' .$end, $pre . '>' . $end), $string);
$strcut = '';
if (strtolower(CHARSET) == 'utf-8'){
$n = $tn =$noc = 0;
while ($n< strlen($string)) {
$t =ord($string[$n]);
if ($t == 9 || $t == 10 || (32<= $t && $t <= 126)) {
$tn = 1;
$n++;
$noc++;
} elseif (194 <= $t&& $t <= 223) {
$tn = 2;
$n += 2;
$noc += 2;
} elseif (224 <= $t&& $t <= 239) {
$tn = 3;
$n += 3;
$noc += 2;
} elseif (240 <= $t&& $t <= 247) {
$tn = 4;
$n += 4;
$noc += 2;
} elseif (248 <= $t&& $t <= 251) {
$tn = 5;
$n += 5;
$noc += 2;
} elseif ($t == 252 || $t ==253) {
$tn = 6;
$n += 6;
$noc += 2;
} else {
$n++;
}
if ($noc >= $length){
break;
}
}
if ($noc> $length) {
$n -= $tn;
}
$strcut =substr($string, 0, $n);
} else {
for ($i =0; $i < $length; $i++) {
$strcut .= ord($string[$i])> 127 ? $string[$i] . $string[++$i] : $string[$i];
}
}
$strcut = str_replace(array($pre . '&' .$end, $pre . '"' . $end, $pre . '<' . $end, $pre . '>' .$end), array('&', '"','<', '>'), $strcut);
$pos = strrpos($strcut, chr(1));
if ($pos !== false) {
$strcut =substr($strcut, 0, $pos);
}
return $strcut . $dot;
}
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
PHP函数addslashes和mysql_real_escape_string的区别
php实现httpclient类示例
php使用json_encode对变量json编码
php警告Creating default object from empty value 问题的解决方法
php中stream(流)的用法
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
php检测useragent版本示例
PHP使用imagick读取PDF生成png缩略图的两种方法
PHP fopen()和 file_get_contents()应用与差异介绍
zf框架的db类select查询器join链表使用示例(zend框架)
zf框架的registry(注册表)使用示例
zf框架的Filter过滤器使用示例
PHP加Nginx实现动态裁剪图片方案
详解PHP中strlen和mb_strlen函数的区别
php中filter函数验证、过滤用户输入的数据
php二维数组排序方法(array_multisort usort)
php使用filter过滤器验证邮箱 ipv6地址 url验证
解析php中如何调用用户自定义函数
php 如何获取数组第一个值
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
PHP中fwrite与file_put_contents性能测试代码
解析php中curl_multi的应用
Php output buffering缓存及程序缓存深入解析
深入Nginx + PHP 缓存详解
php打开文件fopen函数的使用说明
深入解析fsockopen与pfsockopen的区别
解析php php_openssl.dll的作用
浅析PKI加密解密 OpenSSL
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
php 去除html标记--strip_tags与htmlspecialchars的区别详解
解析strtr函数的效率问题
比较strtr, str_replace和preg_replace三个函数的效率
PHP中mb_convert_encoding与iconv函数的深入解析
PHP array_multisort() 函数的深入解析
深入array multisort排序原理的详解
如何利用php array_multisort函数 对数据库结果进行复杂排序
深入密码加salt原理的分析