php截取字符串函数分享
发布时间:2020-12-13 02:23:26 所属栏目:PHP教程 来源:网络整理
导读:《php截取字符串函数分享》要点: 本文介绍了php截取字符串函数分享,希望对您有用。如果有疑问,可以联系我们。 PHP应用 经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数.答案当然是有的.PHP中的subst
《php截取字符串函数分享》要点: PHP应用经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数.答案当然是有的.PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了,这里再给大家分享一个更加优秀的截取字符串的函数.
代码如下:
/** ???? * 办法库-截取字符串-【该函数作者未知】 ???? * @param string? $string 字符串? ???? * @param int???? $length 字符长度 ???? * @param string? $dot??? 截取后是否添加... ???? * @param string? $charset编码 ???? * @return string ???? */ ??? public function cutstr($string,$length,$dot = ' ...',$charset = 'utf-8') { ??????? if (strlen($string) <= $length) { ??????????? return $string; ??????? } ??????? $string = str_replace(array('&','"','<','>'),array('&',$string); ??????? $strcut = ''; ??????? if (strtolower($charset) == 'utf-8') { ??????????? $n = $tn = $noc = 0; ??????????? while ($n < strlen($string)) { ??????????????? $t = ord($string[$n]);??????????????? //ASCII? ??????????????? if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) { ??????????????????? $tn = 1; $n++; $noc++; ??????????????? } elseif (194 <= $t && $t <= 223) { ??????????????????? $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 <= 251) { ??????????????????? $tn = 5; $n += 5; $noc += 2; ??????????????? } elseif ($t == 252 || $t == 253) { ??????????????????? $tn = 6; $n += 6; $noc += 2; ??????????????? } else { ??????????????????? $n++; ??????????????? } ??????????????? if($noc >= $length) { ??????????????????? break; ??????????????? } ??????????? } ??????????? if ($noc > $length) { ??????????????? $n -= $tn; ??????????? } ??????????? $strcut = substr($string,$n); ??????? } else { ??????????? for ($i = 0; $i < $length; $i++) { ??????????????? $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i]; ??????????? } ??????? } ??????? $strcut = str_replace(array('&',$strcut); ??????? return $strcut.$dot; ??? } 以上就是本文的全部内容,希望大家能够喜欢. 编程之家培训学院每天发布《php截取字符串函数分享》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |