Home > Backend Development > PHP Tutorial > PHP interception string function sorting (supports gb2312 and utf-8)_PHP tutorial

PHP interception string function sorting (supports gb2312 and utf-8)_PHP tutorial

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-07-21 15:40:46
Original
873 people have browsed it

1. Function used to intercept GB2312 characters

PHP code

Copy code The code is as follows:

//Intercept Chinese string
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;
}
?>

2. Intercept utf8 encoded multi-byte string

PHP code
Copy code The code is as follows:

//Intercept utf8 string
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. Chinese character interception function supported by UTF-8 and GB2312

PHP code
Copy code The code is as follows:

/*
Chinese character interception function supported by Utf-8 and gb2312
cut_str (string, interception length, starting length, encoding);
The default encoding is utf-8
The default starting length is 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 needs to intercept the string";
echo cut_str($str, 8, 0, 'gb2312');
?>

4 . BugFree’s character interception function

PHP code
Copy code The code is as follows:

< ;?php
/**
* @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
* @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 = "book.chinaz.com -- Webmaster Library, Webmaster Tutorial";
$Length = "18";
$Append = false;
echo sysSubStr($String,$Length,$Append);
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/321281.htmlTechArticle1. Function PHP code for intercepting GB2312 characters. Copy the code as follows: ?php //Intercept Chinese string function mysubstr($str, $start, $len) { $tmpstr = ""; $strlen = $start + $len;...
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
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template