PHP 字符截取 解决中文的截取问题,不用mb系列

2015-01-24信息快讯网
function Cut_string($string, $start ,$sublen, $extstring='...', $code = 'UTF-8') {//Cut_string开始 
if($code == 'UTF-8') 
{ 
$pa = "/[\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]/"; 
preg_match_all($pa, $string, $t_string); 
if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen)).$extstring; 
return join('', array_slice($t_string[0], $start, $sublen)); 
} 
else 
{ 
$start = $start*2; 
$sublen = $sublen*2; 
$strlen = strlen($string); 
$tmpstr = ''; 
for($i=0; $i<$strlen; $i++) 
{ 
if($i>=$start && $i<($start+$sublen)) 
{ 
if(ord(substr($string, $i, 1))>129) 
{ 
$tmpstr.= substr($string, $i, 2); 
} 
else 
{ 
$tmpstr.= substr($string, $i, 1); 
} 
} 
if(ord(substr($string, $i, 1))>129) $i++; 
} 
if(strlen($tmpstr)<$strlen ) $tmpstr.= $extstring; 
return $tmpstr; 
} 
} //Cut_string结束
php中利用post传递字符串重定向的实现代码
Windows下利用Gvim写PHP产生中文乱码问题解决方法
PHP中break及continue两个流程控制指令区别分析
ThinkPHP采用模块和操作分析
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
适用于php-5.2 的 php.ini 中文版[金步国翻译]
PHP的cURL库功能简介 抓取网页、POST数据及其他
PHP stream_context_create()作用和用法分析
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
php模拟asp中的XmlHttpRequest实现http请求的代码
php函数之子字符串替换&#65279; str_replace
php去掉字符串的最后一个字符附substr()的用法
PHP中利用substr_replace将指定两位置之间的字符替换为*号
PHP中simplexml_load_string函数使用说明
php iconv() : Detected an illegal character in input string
PHP中的string类型使用说明
PHP STRING 陷阱原理说明
一个PHP的String类代码
PHP5 操作MySQL数据库基础代码
php 生成饼图 三维饼图
php win下Socket方式发邮件类
PHP 执行系统外部命令 system() exec() passthru()
用PHP的ob_start() 控制您的浏览器cache
php str_pad 函数用法简介
php strlen mb_strlen计算中英文混排字符串长度
phpmyadmin MySQL 加密配置方法
PHP 类型转换函数intval
phpmyadmin 访问被拒绝的真实原因
php ignore_user_abort与register_shutdown_function 使用方法
Windows PHP5和Apache的安装与配置
php strtotime 函数UNIX时间戳
php str_pad 函数使用详解
PHP strtr() 函数使用说明
©2014-2024 dbsqp.com