Home > Backend Development > PHP Tutorial > PHP interception string function sharing, PHP interception string_PHP tutorial

PHP interception string function sharing, PHP interception string_PHP tutorial

WBOY
Release: 2016-07-13 10:08:28
Original
1063 people have browsed it

PHP interception string function sharing, php interception string

I often see novices asking PHP if there is a left function or right function similar to asp, which can realize the function of intercepting N characters starting from the left or right of a string. The answer is of course yes. The substr function in PHP can do this, but PHP combines the two functions into one. Here I will share with you a more excellent function for intercepting strings.

Copy code The code is as follows:

/**
* Method library-intercept string-[The author of this function is unknown]
* @param string $string string
* @param int $length character length
* @param string $dot Whether to add after interception...
* @param string $charset encoding
* @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, 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('&', '"', '<', '>'), $strcut) ;
          return $strcut.$dot;
}

The above is the entire content of this article, I hope you all like it.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/951636.htmlTechArticleSharing of php interception string function, php interception string often sees novices asking PHP if there is a left similar to asp Function or right function to intercept N characters from the left or right of a string...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template