ホームページ バックエンド開発 PHPチュートリアル substr()、mb_substr()、mb_strcut 関数の使用法と違い_PHP チュートリアル

substr()、mb_substr()、mb_strcut 関数の使用法と違い_PHP チュートリアル

Jul 13, 2016 pm 05:00 PM
php substr そして 関数 違い 存在する 使用法

phpでは、substr()、mb_substr()、mb_strcutの3つの関数はいずれも文字インターセプト関数ですが、substrは中国語のインターセプトをサポートしています。

substr()関数

substr(文字列,開始,長さ)

文字列は傍受するオブジェクトを表し、startは傍受する位置を表し、0は先頭を表し、正の数値はこの数値の末尾からの傍受を表し、負の数値は末尾からの傍受位置を表しますが、引き続き左から右にインターセプトされます。長さは、末尾の除外または無視される文字数を表します。 例:

コードは次のとおりです コードをコピー
$siteurl = 'www.bKjia.c0m';
print_r (substr($siteurl,4));終了;

//次に return: bKjia.c0m は、先頭から 4 番目の文字から開始して、後続のすべての文字を返すことを意味します。

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

$siteurl = 'www.bKjia.c0m';
print_r (substr($siteurl,-6,2));終了;

2 バイトの中国語文字をインターセプトしたい場合は、PHP mb_substr 関数または mb_strcut 関数を使用する必要がありますが、これら 2 つの関数は PHP 拡張機能 php_mbstring.dll コンポーネントに依存しているため、サーバーを設定する必要があります。 PHP インストール ディレクトリ内の php_mbstring.dll ファイルを Windows 2003 の C ドライブの Windows/system32 ディレクトリにコピーします。


例:

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

echo mb_substr('こうすれば文字列は文字化けしません^_^', 0, 7, 'utf-8');
?>

出力: このように私の言葉

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

echo mb_strcut('こうすれば文字化けしません^_^', 0, 7, 'utf-8');
?>

出力: このように

上記の例からわかるように、mb_substr は文字を単語ごとに分割し、mb_strcut は文字をバイトごとに分割しますが、どちらも文字の半分を生成しません...

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

echo mb_substr('飛花園ブログ飛花園',0,9);
//戻る: 飛華園

echo mb_substr('飛花園ブログ飛花園',0,9,'utf-8');
//戻る: 飛花園ブログ feih

mb_strcut('飛花園ブログ飛花園',0,9,'utf-8');
その後、飛花園に戻ります
?>

別の例として、mb_substr と mb_strcut をそれぞれ使用してセグメント化されたテキストがあります。

プレーンテキスト

コード:

コードは次のとおりですコードをコピー
$str = '私は比較的長い中国語の文字列です-';

echo "mb_substr:" . mb_substr($str, 0, 6, 'utf-8');

エコー "
";

echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8');

?>

出力結果は以下の通りです:

mb_substr: 私は比較の文字列です

mb_strcut:私は
です

この記事の概要

上記の例からわかるように、substr は英語のインターセプトにのみ適したシングル バイトのみをサポートしますが、mb_substr 関数は中国語に使用できるダブル フォントをインターセプトしますが、mb_strcut は 3 バイトです。

http://www.bkjia.com/PHPjc/631262.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631262.html技術記事 PHP では、substr()、mb_substr()、mb_strcut の 3 つの関数はすべて文字インターセプト関数ですが、substr が中国語の文字をインターセプトすると文字化けが発生します。以下にそれらを紹介します。 ...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? Apr 07, 2025 am 12:02 AM

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

H5とミニプログラムとアプリの違い H5とミニプログラムとアプリの違い Apr 06, 2025 am 10:42 AM

H5。ミニプログラムとアプリの主な違いは次のとおりです。技術アーキテクチャ:H5はWebテクノロジーに基づいており、ミニプログラムとアプリは独立したアプリケーションです。経験と機能:H5は軽量で使いやすく、機能が限られています。ミニプログラムは軽量で、インタラクティブが良好です。アプリは強力で、スムーズな経験があります。互換性:H5はクロスプラットフォーム互換性があり、アプレットとアプリはプラットフォームによって制限されています。開発コスト:H5には、開発コストが低く、中程度のミニプログラム、最高のアプリがあります。適用可能なシナリオ:H5は情報表示に適しており、アプレットは軽量アプリケーションに適しており、アプリは複雑な機能に適しています。

PSのエクスポートPDFのパスワード保護を設定する方法 PSのエクスポートPDFのパスワード保護を設定する方法 Apr 06, 2025 pm 04:45 PM

Photoshopでパスワードで保護されたPDFをエクスポート:画像ファイルを開きます。 [ファイル]&gtをクリックします。 「エクスポート」> 「PDFとしてのエクスポート」。 「セキュリティ」オプションを設定し、同じパスワードを2回入力します。 [エクスポート]をクリックして、PDFファイルを生成します。

PHPで厳密なタイプ(declare(strict_types = 1);)を説明します。 PHPで厳密なタイプ(declare(strict_types = 1);)を説明します。 Apr 07, 2025 am 12:05 AM

PHPの厳格なタイプは、declare(strict_types = 1)を追加することで有効になります。ファイルの上部に。 1)関数パラメーターのタイプチェックと戻り値を強制して、暗黙の型変換を防ぎます。 2)厳格なタイプを使用すると、コードの信頼性と予測可能性を改善し、バグを減らし、保守性と読みやすさを向上させることができます。

どのようにしてクラスが拡張されたり、PHPでメソッドがオーバーライドされたりするのを防ぐことができますか? (最終キーワード) どのようにしてクラスが拡張されたり、PHPでメソッドがオーバーライドされたりするのを防ぐことができますか? (最終キーワード) Apr 08, 2025 am 12:03 AM

PHPでは、最終的なキーワードを使用して、クラスが継承されないようにし、メソッドが上書きされます。 1)クラスを決勝としてマークする場合、クラスを継承することはできません。 2)メソッドを最終的にマークする場合、メソッドはサブクラスによって書き換えられません。最終的なキーワードを使用すると、コードの安定性とセキュリティが保証されます。

PHP関数引数と配列の開梱で...(SPLAT)演算子の目的と使用について説明してください。 PHP関数引数と配列の開梱で...(SPLAT)演算子の目的と使用について説明してください。 Apr 06, 2025 am 12:07 AM

PHPの...(SPLAT)演算子は、機能パラメーターと配列を開梱するために使用され、コードのシンプルさと効率を向上させます。 1)関数パラメーター解放:アレイ要素をパラメーターとして関数に渡します。 2)配列の開梱:アレイを別の配列または関数パラメーターに解除します。

PHPの未来:適応と革新 PHPの未来:適応と革新 Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

See all articles