当前位置: 首页 > 编程笔记 >

php截取字符串函数分享

章安宜
2023-03-14
本文向大家介绍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('&amp;', '&quot;', '&lt;', '&gt;'), 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, 0, $n);

        } else {

            for ($i = 0; $i < $length; $i++) {

                $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];

            }

        }

        $strcut = str_replace(array('&', '"', '<', '>'), array('&amp;', '&quot;', '&lt;', '&gt;'), $strcut);

        return $strcut.$dot;

    }

以上就是本文的全部内容,希望大家能够喜欢。

 类似资料:
  • 本文向大家介绍php字符串截取函数用法分析,包括了php字符串截取函数用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了php字符串截取函数用法。分享给大家供大家参考。具体分析如下: php自带的截取字符串的函数只能处理英文,数字的不能截取中文混排的,后面一个示例比较好用,第一个主要是给初学者学学用的,具体代码如下: 支持中英文混合截取,代码如下: 希望本文所述对大家的php程序设计

  • 函数名称:字符串截取 函数功能:按照规则截取字符串 函数方法 str = string.sub(s,i,j) 参数 类型 必填 说明 s string 是 待截取的字符串 i number 是 开始截取位置 j string 否 停止截取位置,不写默认为 i 返回值 类型 说明 str string 截取的字符串 函数用例 s="just do it" str = string.sub(s,6,7

  • 本文向大家介绍php mb_substr()函数截取中文字符串应用示例,包括了php mb_substr()函数截取中文字符串应用示例的使用技巧和注意事项,需要的朋友参考一下 substr()函数用来截取字符串,但是对于中文字符会出现问题,而mb_substr()和mb_strcut这两个函数可以,用法与substr()相似,只是在函数最后要加入多一个参数,以设定字符串的编码,使用这两个函数需要在

  • 本文向大家介绍php对包含html标签的字符串进行截取的函数分享,包括了php对包含html标签的字符串进行截取的函数分享的使用技巧和注意事项,需要的朋友参考一下 这个方法的作用是:php截取含有html标签的字符串,如果标签未闭合就闭合标签,防止未闭合的标签破坏原网页布局。截取完之后将多余的内容替换为...或者其他任意字符,支持锚点指定替换到指定位置。

  • substr key start end 返回截取过的key的字符串值,注意并不修改key的值。下标是从0开始的

  • 主要内容:获取单个字符,获取多个字符(字符串截去/字符串切片)从本质上讲,字符串是由多个字符构成的,字符之间是有顺序的,这个顺序号就称为索引(index)。 Python 允许通过索引来操作字符串中的单个或者多个字符,比如获取指定索引处的字符,返回指定字符的索引值等。 获取单个字符 知道字符串名字以后,在方括号 中使用索引即可访问对应的字符,具体的语法格式为: strname[index] strname 表示字符串名字,index 表示索引值。 Pytho