300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > php字符串截取(UTF-八/GB2312)

php字符串截取(UTF-八/GB2312)

时间:2024-07-15 07:51:27

相关推荐

php字符串截取(UTF-八/GB2312)

后端开发|php教程

string,substr,tmpstr,return,start

后端开发-php教程

php字符串截取(UTF-8/GB2312)

网页树形源码,ubuntu 比作的事,tomcat可以用jsp吗,廖雪峰 pdf 爬虫,智能手环 管理系统 PHP,桂林seo外包lzw

1. 截取GB2312中文字符串

信息录入查询系统源码,vscode无法访问,ubuntu 端口开放,Tomcat栈异常异常,爬虫 证书过期,php表单页面跳转,仙桃房产seo推广公司排名,php网站后台登录源码,免费学校网站模板lzw

<?php

< ?php?

//截取中文字符串

function mysubstr($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;

}

?>

手机贷款源码作用,vscode加js代码,ubuntu 域,tomcat 静态页,sqlite php管理,网页设计能赚大钱吗,.net 查询数据库操作,服务器如何屏蔽ip段,jquery 表格 分页 插件,wap手机端前端框架,爬虫软件怎么用,php转html,seo的描述,新版springboot,ecshop首页地址标签,电子商务网站源代码,网页链接保存,用模板网站全改成自己的图片 侵权吗,网站后台 二级域名,html酷炫页面,桃源校园文件管理系统,大淘客小程序lzw

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

<?php

< ?php

//截取utf8字符串

function utf8Substr($str, $from, $len)

{

??? return preg_replace(‘#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,’.$from.’}’.

?????????????????????? ‘((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,’.$len.’}).*#s’,

?????????????????????? ‘$1’,$str);

}

?>

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

<?php

< ?php

/*?

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(”, 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需要截取的字符串”;?

echo cut_str($str, 8, 0, ‘gb2312’);?

?>

4. BugFree 的字符截取函数

<?php

< ?php?

/**?

?* @package???? BugFree?

?* @version???? $Id: FunctionsMain.inc.php,v 1.32 /09/24 11:38:37 wwccss Exp $?

?*?

?*?

?* Return part of a string(Enhance the function substr())?

?*?

?* @author????????????????? Chunsheng Wang ?

?* @param string? $String? the string to cut.?

?* @param int???? $Length? the length of returned string.?

?* @param booble? $Append? whether append “…”: false|true?

?* @return string?????????? the cutted string.?

?*/?

function sysSubStr($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 = “ — 简单、精彩、通用”;?

$Length = “18”;?

$Append = false;?

echo sysSubStr($String,$Length,$Append);?

?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。