zblog
当前位置:首页 > 商学院 > zblog > 正文内容

zblog

php中截取中文字符串

豫唐网络2017-09-20 15:042878

截取GB2312中文字符串

functionmysubstr($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;
}

截取utf8编码的多字节字符串

functionutf8Substr($str,$from,$len){
returnpreg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$str);
}

UTF-8、GB2312都支持的汉字截取函数

functioncut_str($string,$sublen,$start=0,$code='UTF-8')
{
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)returnjoin('',array_slice($t_string[0],$start,$sublen))."...";
returnjoin('',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.="...";
return$tmpstr;
}
}
$str="abcd需要截取的字符串";
echocut_str($str,8,0,'gb2312');

BugFree 的字符截取函数

functionsysSubStr($String,$Length,$Append=false)
{
if(strlen($String)<=$Length)
{
return$String;
}
else
{
$I=0;
while($I<$Length)
{
$StringTMP=substr($String,$I,1);
if(ord($StringTMP)>=224)
{
$StringTMP=substr($String,$I,3);
$I=$I+3;
}
elseif(ord($StringTMP)>=192)
{
$StringTMP=substr($String,$I,2);
$I=$I+2;
}
else
{
$I=$I+1;
}
$StringLast[]=$StringTMP;
}
$StringLast=implode("",$StringLast);
if($Append)
{
$StringLast.="...";
}
return$StringLast;
}
}
$String="ytecn.com豫唐网络";
$Length="18";
$Append=false;
echosysSubStr($String,$Length,$Append);


扫描二维码推送至手机访问。

版权声明:本文由汤阴县豫唐网络科技有限公司发布,如需转载请注明出处。

本文链接:https://www.ytecn.com/post/71.html

分享给朋友:

相关文章

zblogphp1.5.2开发者迁移指南

zblogphp1.5.2开发者迁移指南

自此版本开始,加强安全相关功能。登录相关此版本不再使用 password Cookie,用户密码不再直接暴露。增加token Cookie,并且强制置于 httpOnly 模式。因此:1. 不再允许前...

zblogphp调试登录助手

zblogphp调试登录助手

本着不接触用户账户密码的原则,请优先根据本插件提供信息。《调试登录助手》,地址:https://app.zblogcn.com/?id=18484本插件用于在不需要给出密码明文的前提下让他人登录站点后...

查看当前页面使用的sql语句zblog版

查看当前页面使用的sql语句zblog版

在使用网站的时,有时候会遇见页面打开缓慢情况,在确定服务器和访问量均是正常的情况下,这个时候一般都是程序中存在慢sql导致。在zblog中如何打开sql语句查看呢?这个时候我们需要用到debug工具。...

zblogphp开源免费、小巧强大的博客程序与CMS建站系统

zblogphp开源免费、小巧强大的博客程序与CMS建站系统

Z-BlogPHP 基于 PHP 平台,支持 MySQL(含 MariaDB)、SQLite 和 PostgreSQL 数据库。期待它能成为您建站、写博的上佳选择。我们一直在努力把 Z-BlogPHP...

zblog二级导航下拉导航多级导航配置设置教程

zblog二级导航下拉导航多级导航配置设置教程

zblog已支持多级分类,而一些主题的模版也需要适配二级或者多级分类导航,但作为新手,还是不知道怎么下手,那么今天豫唐就写一个很简单的教程,供大家参考一下。准备工作:1、开启《链接模块管理》插件;2、...

根据ID批量修改文章状态

根据ID批量修改文章状态

本案例为通过txt文档输入N多个文章id,然后根据txt输入的ID批量对文章状态进行修改。操作步骤如下:1、在网站根目录创建txt文件,命名为id.txt;2、在txt里面批量写入需要修改状态的id,...