2022年php字符串截取 .pdf
1. 截取 GB2312中文字符串?php /* * 字符截取,截取gb2312 中文字符串 * param $str 要截取的字符串 * param $start 开始位置 * param $len 截取的长度 */ function mysubstr($str, $start, $len) $tmpstr = ; $strlen = $start + $len; for($i = 0; $i 0 xa0) $tmpstr .= substr($str, $i, 2); $i+; else $tmpstr .= substr($str, $i, 1); return $tmpstr; echo mysubstr(善良能够培养一个人的道德以及人格,久而久之,形成一股气质,同时也能给人一种亲近感。平时多换位思考一下,不要整日想着自己需要什么,为何不想想别人需要什么?当你需要什么的时候,不要总以自己的想法来左右别人,别人在意的是自己的需求,而并非你的需求。,0,100); ? 输出:善良能够培养一个人的道德以及人格,久而久之,形成一股气质,同时也能给人一种亲近感。平时多换位思考一下2. 截取 utf8编码的字符串 输出:善良能够培养一个人的道德以及人格,久而久之,形成一股气质,同时也能给人一种亲近感。平时多换位思考一下,不要整日想着自己需要什么,为何不想想别人需要什么?当你需要什么的时候,不要总以自己的想法来左右别人3. UTF-8 、GB2312都支持的汉字截取函数 ( 一) $sublen) return join(, array_slice($t_string0, $start, $sublen).; return join(, array_slice($t_string0, $start, $sublen); else $start = $start*2; $sublen = $sublen*2; $strlen = strlen($string); $tmpstr = ; for($i=0; $i=$start & $i129) $tmpstr.= substr($string, $i, 2); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - else $tmpstr.= substr($string, $i, 1); if(ord(substr($string, $i, 1)129) $i+; if(strlen($tmpstr) 输出:善良能够培养一个人的道德以及人格,久而久之,形成一股气质,同时也能给人一种亲近感。平时多换位思考一下,不要整日想着自己需要什么,为何不想想别人需要什么?当你需要什么的时候,不要总以自己的想法来左右别人. 4. UTF-8 、GB2312都支持的汉字截取函数 ( 二) ?php /* * 字符截取支持 UTF8/GBK * param $string * param $length * param $dot */ function str_cut($string, $length, $dot = .) $strlen = strlen($string); if($strlen = $length) return $string; $string = str_replace(array( , , &, ", ', “, ”, —, <, >, ·, …), array(, , &, , , “, ”, , , , , ), $string); $strcut = ; $length = intval($length-strlen($dot)-$length/3); $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) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - $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 = $length) break; if($noc $length) $n -= $tn; $strcut = substr($string, 0, $n); $strcut = str_replace(array(, &, , , “, ”, , , , ,), array( , &, ", ', “, ”, —, <, >, ·, …), $strcut); return $strcut.$dot; echo str_cut(善良能够培养一个人的道德以及人格,久而久之,形成一股气质,同时也能给人一种亲近感。平时多换位思考一下,不要整日想着自己需要什么,为何不想想别人需要什么?当你需要什么的时候,不要总以自己的想法来左右别人,别人在意的是自己的需求,而并非你的需求。,100); ? 页面编码是gb2312: 善良能够培养一个人的道德以及人格,久而久之,形成一股气质,同时也能给人一种亲近感。平时多换位思考一下,不. Utf-8: 善良能够培养一个人的道德以及人格,久而久之,形成一股气质,同时. 5. BugFree 的字符截取函数?php / 说明:摘录自BugFree /* * package BugFree * version $Id: FunctionsMain.inc.php,v 1.32 2005/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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - * return string the cutted string. */ function sysSubStr($String,$Length,$Append = false) if (strlen($String) = $Length ) return $String; else $I = 0; while ($I =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 = 100; $Append = false; echo sysSubStr($String,$Length,$Append); ? Utf-8输出:善良能够培养一个人的道德以及人格,久而久之,形成一股气质,同时也能给Gb2312输出:善良能够培养一个人的道德以及人格,久而久之,形成一股气质,同时也能给人一种亲近感。平时多换位思考一下名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -