PHP インターセプト中国語文字列関数 ~ GB2312 および UT-8_PHP チュートリアルを含む

WBOY
リリース: 2016-07-13 17:48:31
オリジナル
771 人が閲覧しました

/*
Utf-8とgb2312で漢字インターセプト機能をサポート
Cut_str(文字列、カット長、開始長、エンコーディング);
エンコードのデフォルトは utf-8 です
開始長のデフォルトは 0 です
*/

関数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)); }
それ以外は
{
$start = $start*2; $sublen = $sublen*2; $strlen = strlen($string); $tmpstr = '';
for($i=0; $i                                                              If($i>=$start && $i                                                                 If(ord(substr($string, $i, 1))>129)
                                                                      $tmpstr.= substr($string, $i, 2);                                                                              それ以外                                                                       $tmpstr.= substr($string, $i, 1);                                                                                                                                                     If(ord(substr($string, $i, 1))>129) $i++; }
If(strlen($tmpstr) }

$str = "インターセプトする必要がある abcd 文字列"; echo Cut_str($str, 8, 0, 'gb2312'); ?>

//中国語の文字列をインターセプトします
//GB2312をサポート
関数 mysubstr($str, $start, $len) {
$tmpstr = ""; $strlen = $start + $len; for($i = 0; $i If(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2); $i++; } 他
$tmpstr .= substr($str, $i, 1); }
戻り $tmpstr; }
?>


// utf8 文字列をインターセプトします
関数 utf8Substr($str, $from, $len)
{
preg_replace('#^(?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$from.'}' を返します。
‘((?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$len.'}).*#s',
‘$1’,$str); }
?>

インターネット マーケティング ブログからの抜粋

http://www.bkjia.com/PHPjc/478413.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478413.html技術記事 ?php /* 漢字インターセプト関数 Cut_str (文字列、インターセプト長、開始長、エンコーディング) Utf-8 と gb2312 の両方でサポートされます。エンコーディングのデフォルトは utf-8 で、開始長のデフォルトは 0 */ function Cut_str($stri ...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート