検索
ホームページphp教程php手册PHP は文字列をインターセプトし、それぞれ GB2312 および UTF8 エンコードに適しています。

PHP は文字列をインターセプトし、それぞれ GB2312 および UTF8 エンコードに適しています。

Jun 13, 2016 pm 12:25 PM
phputf8中国語コードそしてコピー状態インターセプトコーディング適切な

1. GB2312 中国語文字列をインターセプト

コードをコピーします コードは次のとおりです:


php
//中国語の文字列
function mysubstr($str, $start, $len) {
$tmpstr = "";
$strlen = $start $len>for( $ i = 0; $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 でエンコードされたマルチバイト文字列をインターセプトします



コードをコピーします

コードは次のとおりです: //インターセプト 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 でサポートされる漢字インターセプト関数



コードをコピーします

コードは次のとおりです:/*

Utf-8 および gb2312 でサポートされている漢字インターセプト関数
cut_str(string, インターセプト長, 開始長,エンコーディング);
エンコーディングのデフォルトは 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 = $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); }
else
{
$tmpstr.= substr($string, $i, 1);
}
}
if(ord(substr($string, $i, 1))> 129) $i ;
}
if(strlen($tmpstr)return $tmpstr;
}$ str = "abcd は文字列をインターセプトする必要があります";
echo Cut_str($str, 8, 0, 'gb2312');



4. BugFree 文字インターセプト関数




コードをコピー


コードは次のとおりです:
php

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

* Return文字列の一部(関数substr()を拡張)

*
* @author Chunsheng Wang
* @param string $String 切り取る文字列。
* @param int $Length 返される文字列の長さ。
* @param booble $Append "..." を追加するかどうか: false|true
* @return string 切り取られた文字列。
*/
function sysSubStr($String,$Length,$Append = false)
{
if (strlen($String) {
return $ String;
}
else
{
$I = 0;
while ($I {
$ 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 = "www.at0915.cn";
$Append = false; $追加);


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい