php函数汉语,PHP汉字截取函数:UTF-8、GB2312双支持

经测试代码如下:

/*

Utf-8、gb2312都支持的汉字截取函数

cut_str(字符串,截取长度,开始长度,编码);

编码默认为 utf-8

开始长度默认为 0

*/

function cut_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) return join('',array_slice($t_string[0],$start,$sublen))."...";

return join('',$sublen));

}

else

{

$start = $start*2;

$sublen = $sublen*2;

$strlen = strlen($string);

$tmpstr = ''; for($i=0; $i

{

if($i>=$start && $i

{

if(ord(substr($string,$i,1))>129)

{

$tmpstr.= substr($string,2);

}

else

{

$tmpstr.= substr($string,1);

}

}

if(ord(substr($string,1))>129) $i++;

}

if(strlen($tmpstr)

return $tmpstr;

}

}

?>

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【牛客 - 327牛客寒假算法基础集训营2 I】处女座的测验(二)(积性函数性质,数论,素数唯一性分解,STL)

题干: 链接:https://ac.nowcoder.com/acm/contest/327/I 来源:牛客网 现在处女座顺利的完成了测验,处女座想要知道知道自己输出的结果是否正确。他希望知道自己有自己输出的数中有多少对是不满足要求的。 更具体的&#xff0c…

linux监控命令执行,你可能不知道的 即时监控 Linux 使用者执行指令的三种方法...

原标题:你可能不知道的 即时监控 Linux 使用者执行指令的三种方法这里介绍如何在 Linux 系统上以管理者权限即时监控一般使用者所执行的任何指令。Linux 的 root 管理者可对系统进行任何的管理与操作,如果想要即时监控特定使用者在主机上所执行的指令&am…

【POJ - 2728】Desert King (最有比率生成树,分数规划)

题干: David the Great has just become the king of a desert country. To win the respect of his people, he decided to build channels all over his country to bring water to every village. Villages which are connected to his capital village will be…

linux非权限安装bioperl,bioperl的安装

1. 对于UNIX用户(1)下载BioPerl的源代码,并解压。我提供两个网址:(2)进入该目录,然后执行下列命令:$ perl Build.PL$ ./Build test# ./Build install (注意:执行./Build install时必须要有系统管理员权限)BioPerl和许多…

【牛客 - 327G】处女座与复读机(可编辑距离问题,dp)

题干: 链接:https://ac.nowcoder.com/acm/contest/327/G 来源:牛客网 一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女座好强啊”。处女座经过调查…

linux远程打开windows程序,为新手讲解Linux和Windows系统的远程桌面访问知识

很多新手都是使用Linux和Windows双系统的,它们之间的远程桌面访问是如何连接的,我们就为新手讲解Linux和Windows系统的远程桌面访问知识,包括所使用的软件及方法。本文所使用的Linux版本是深度操作系统,如果要安装该版本请参考U盘…

【51nod - 1174 】区间中最大的数(RMQ问题,ST表,模板)

题干: 给出一个有N个数的序列,编号0 - N - 1。进行Q次查询,查询编号i至j的所有数中,最大的数是多少。 例如: 1 7 6 3 1。i 1, j 3,对应的数为7 6 3,最大的数为7。(该问题也被称为RMQ问题&am…

linux用户登录实验,Linux用户和组相关命令及实验

本文简要介绍了在Linux系统下,如何对账户和组进行增、删、改的操作。一、 groupaddgroupadd [选项] group_name-g GID:指定GID;默认是上一个组的GID1;-r: 创建系统组;二、 groupmod命令:修改组属性groupmod…

【CSU - 1980 】不堪重负的树(树上区间dp)

题干: 小X非常喜欢树,然后他生成了一个大森林给自己玩。 玩着玩着,小X陷入了沉思。 一棵树由N个节点组成,编号为i的节点有一个价值Wi。假设从树根出发前往第i个节点(可能是树根自己),一共需要…

linux windows 域,linux加入windows域之完美解决方案

《linux加入windows域之完美解决方案》由会员分享,可在线阅读,更多相关《linux加入windows域之完美解决方案(10页珍藏版)》请在人人文库网上搜索。1、linux加入windows域的理想方案原文来源: http:/rainbird.blog.51cto.com/笔者最近几天正在…

【蓝桥杯官网试题 - 算法训练 】K好数(线性dp与优化)

题干: 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K 4,L 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大…

arm-linux配置dhcp自动获取ip地址,ARM-Linux配置DHCP自动获取IP地址

备注:内核版本:2.6.30.9busybox版本:1.15.2PC Linux和开发板Linux的工作用户:root1. 配置内核:[*] Networking support --->Networking options --->Packet socketUnix domain sockets[*] TCP/IP networking[*…

【CodeForces - 897D】Ithea Plays With Chtholly (交互题型,贪心,思维构造,题目信息)

题目大意: This is an interactive problem. Refer to the Interaction section below for better understanding. Ithea and Chtholly want to play a game in order to determine who can use the kitchen tonight. Initially, Ithea puts n clear sheets of pa…

红帽子linux生效环境变量,RedHat Linux 5无法使用ifconfig的解决方法

ifconfig是Linux显示网络设备的命令,能够设置网络设备的状态,但在RedHat Linux 5系统中,有时会遇到ifconfig命令无法使用的情况,下面小编就给大家介绍下RedHat Linux 5无法使用ifconfig命令的解决方法。一起去看看吧!在…

关于交互题---Idleness limit exceeded(codeforces)

Idleness limit exceeded的中文:懒惰超过限制。----来自有道翻译 大概意思是在该输出的情况下没有输出数据 比如这个: 而且一般都会提醒你:(在每条输出之后加) After outputting each line, dont forget to flush t…

Linux如何搭建服务器eb,Linux下CRMEB环境搭建

环境准备:PHP7.0.33MySQL5.7Apache2.4PHP环境安装:sudo apt-get install php-pear php7.0-cli php7.0-common php7.0-curl \php7.0-dev php7.0-fpm php7.0-json php7.0-mbstring php7.0-mcrypt \php7.0-mysql php7.0-opcache php7.0-zip php7.0-intl php7.0-gd php7.0-xmlMySQL…

【EOJ Monthly 2019.02 - A】回收卫星(交互题型,二分)

题干: 单测试点时限: 1.0 秒 内存限制: 256 MB “这个世上没有无用的齿轮,也只有齿轮本身能决定自己的用途。” 就像太空中的卫星,虽然不计其数,但都各司其职。 但没有一个东西是能够永远无损的。为了便于回收及修理&#xf…

windows 调用linux .a lib,动态链接库及静态链接库(windows下的.dll .lib和linux下的.so .a)...

动态链接库及静态链接库(windows下的.dll .lib和linux下的.so .a) 库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例…

【EOJ Monthly 2019.02 - B】解题(思维,抽屉原理,暴力,模运算,优化,tricks)

题干: 单测试点时限: 2.0 秒 内存限制: 1024 MB “我把房门上锁,并非为了不让她进去,而是为了防止自己逃到她身边”。 她又被数学难住了。QQ 小方当然是不会对女生说”不”的。 她的数学题是这样的,她得到了一个十进制大整数…

linux socket ip层配置,Linux下Socket通信(TCP实现)

近期在做的项目中,涉及到了进程间数据传输,系统的原本实现是通过管道,但是原有的实现中两个进程是在同一台机器,而且两个进程的关系为父子关系,而我们要做的是将其中一个进程移植到服务器上,因此两个进程要…