"/> ">

>백엔드 개발 >PHP 튜토리얼 >기울임꼴 gb2312 PHP 차단 문자열 함수는 gb2312 및 utf-8을 지원합니다.

기울임꼴 gb2312 PHP 차단 문자열 함수는 gb2312 및 utf-8을 지원합니다.

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-07-29 08:41:511306검색

1. GB2312 문자를 가로채는 데 사용되는 함수
PHP 코드

코드 복사 코드는 다음과 같습니다.


< ?php
//중국어 문자열 가로채기
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. utf8로 인코딩된 멀티바이트 문자열 가로채기
PHP 코드




코드 복사

코드는 다음과 같습니다. //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. UTF-8 및 GB2312에서 지원되는 한자 가로채기 기능
PHP 코드




코드 복사

/*

Utf-8 및 gb2312에서 지원하는 한자 가로채기 기능
cut_str(문자열, 가로채기 길이, 시작 길이, 인코딩 );
인코딩 기본값은 utf-8
시작 길이 기본값은 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; ;
$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.= "..."; tmpstr;
}
}
$str = "abcd는 문자열을 가로채야 합니다.";
echo cut_str($str, 8, 0, 'gb2312')
? 🎜>

4. BugFree의 문자 차단 기능
PHP 코드


코드 복사

코드는 다음과 같습니다.

< ?php /*** @package BugFree * @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $

*

*
* 반환 문자열의 일부(substr() 함수 강화)
*
* @author Chunsheng Wang
* @param string $String 잘라낼 문자열입니다.
* @param int $Length 반환된 문자열의 길이입니다.
* @param booble $Append "..." 추가 여부: false|true
* @return string 잘라낸 문자열.
*/
함수 sysSubStr($String,$Length,$Append = false)
{
if (strlen($String) < = $Length )
{
return $String;
}
else
{
$I = 0
($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 2;
}
else
{
$I = $I 1
$StringLast[] = $StringTMP
}
$StringLast = implode("",$StringLast)
if($Append)
{
$StringLast .= "..."; }
return $ StringLast;
}
}
$String = "book.chinaz.com -- 웹마스터 라이브러리, 웹마스터 튜토리얼"
$Length = "18"; $Append = false
echo sysSubStr($String,$Length,$Append)


위에서는 정규 스크립트 gb2312의 내용을 포함하여 gb2312 및 utf-8을 지원하는 일반 스크립트 gb2312 PHP 차단 문자열 함수를 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.