>  기사  >  백엔드 개발  >  PHP 중국어, 영어 문자열 차단 기능(html 포함)

PHP 중국어, 영어 문자열 차단 기능(html 포함)

高洛峰
高洛峰원래의
2016-11-29 15:56:561064검색

여기에는 html 태그 처리를 포함하여 한자와 영어의 혼합을 지원하는 차단 기능이 있습니다.

한자와 영어 문자열 차단 기능(html 포함)을 살펴보겠습니다. 예제 코드는 다음과 같습니다:

function get_word($string, $length, $dot = '..',$charset='gbk') {

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])

if($t == 9 || $t = = 10 || (32

$tn = 1

} 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; $noc += 2

} elseif($t == 252 || $t == 253) >

$tn = 6; $noc += 2;

} else {

}

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]) > $i].$string[++$i] : $string[$i];

}

}

return $strcut.$dot;

}

$str = "concise nowamagic 방문을 환영합니다";

$str_result = get_word($str, 12)

echo $str_result;

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