文字列のインターセプト PHP で中国語の文字列をインターセプトするためのコードの概要
文字列インターセプトは非常に一般的なプログラミング タスクであり、漢字を使用した文字列インターセプトがよく使用されます。難しくはありませんが、関数を自分で書くのは時間がかかります。ここでは、基本的なニーズを満たすことができる、比較的使いやすい文字列インターセプト関数を紹介します。
1. GB2312 中国語文字列をインターセプトします
コードをコピーします コードは次のとおりです:
< ?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)
} else
$tmpstr .= substr($i, 1); ;
}
?>
2. utf8 でエンコードされたマルチバイト文字列をインターセプトします
コードは次のとおりです:
< utf8 文字列をインターセプトします。 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) ; 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))."..."; $sublen)) ;
$start = $start*2;
$strlen = strlen($string); i=0; $i< $strlen; $i++)
{ if($i>=$start && $i< ($start+$sublen)) { if(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 は文字列をインターセプトする必要があります";
4.
コードをコピーします
コードは次のとおりです:
< ?php
/**
* @package BugFree
* @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $
*
*
* 文字列の一部を返す(関数 substr( ))
*
* @著者 Chunsheng Wang
* @param string $String 切り取る文字列。
* @param int $Length 返される文字列の長さ。
* @param booble $Append "..." を追加するかどうか: false|true
* @return string 切り取られた文字列。
*/
function sysSubStr($String,$Length,$Append = false)
{
if (strlen($String) < = $Length )
{
return $String;
else
{
$I = 0;
while ($I < $Length)
{
$StringTMP = substr($文字列,$I,1) ;
if ( ord($StringTMP) >=224 )
{
$StringTMP = substr($String,$I,2)
$I = $I + 2 } else { $I = $I; + 1;
}$ StringLast[] = $StringTMP;
$StringLast = implode("",$StringLast)
{
$StringLast .= "...";
return $StringLast;
}
$String = "17test.info は中国の自動テストの最前線にあります";
$Append = false;長さ,$追加);
以上、PHP で中国語の文字列をインターセプトするコードの概要を、文字列のインターセプトの内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

php8.1の列挙関数は、指定された定数を定義することにより、コードの明確さとタイプの安全性を高めます。 1)列挙は、整数、文字列、またはオブジェクトであり、コードの読みやすさとタイプの安全性を向上させることができます。 2)列挙はクラスに基づいており、トラバーサルや反射などのオブジェクト指向の機能をサポートします。 3)列挙を比較と割り当てに使用して、タイプの安全性を確保できます。 4)列挙は、複雑なロジックを実装するためのメソッドの追加をサポートします。 5)厳密なタイプのチェックとエラー処理は、一般的なエラーを回避できます。 6)列挙は魔法の価値を低下させ、保守性を向上させますが、パフォーマンスの最適化に注意してください。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。
