PHPで返される文字列の長さを制限する方法

PHPz
リリース: 2023-04-03 12:04:01
オリジナル
1465 人が閲覧しました

PHP は、動的な Web ページを作成するために広く使用されているサーバー側スクリプト言語です。 PHP では、データベースへのクエリは頻繁に使用される操作です。データベースにクエリを実行すると、返される文字列の長さが制限を超えることがよくあります。では、PHP では、返される文字列の長さを制限するにはどうすればよいでしょうか?

1. substr() 関数

substr() 関数は、文字列から指定された長さの部分文字列を返すことができます。たとえば、substr() 関数を使用して、返される文字列の長さを 100 に制限できます。

$query = "SELECT * FROM table";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);
$limited_string = substr($row['content'], 0, 100);
echo $limited_string;
ログイン後にコピー

上記のコードでは、substr() 関数を使用して、返される文字列の長さを制限します。返された文字列の長さは 100 です。 substr() 関数では、最初のパラメータはインターセプトする文字列、2 番目のパラメータはインターセプトの開始位置、3 番目のパラメータはインターセプトの長さです。

2. mb_substr() 関数

文字列がマルチバイト文字セット (中国語、日本語など) の場合、substr( ) 関数 問題が発生します。現時点では、mb_substr() 関数を使用できます。この関数は、マルチバイト文字を含む文字列を処理できるマルチバイト文字列関数です。

$query = "SELECT * FROM table";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);
$limited_string = mb_substr($row['content'], 0, 100, 'utf-8');
echo $limited_string;
ログイン後にコピー

上記のコードでは、mb_substr() 関数を使用して、返される文字列の長さを 100 に制限しています。 mb_substr() 関数では、最初のパラメータはインターセプトする文字列、2 番目のパラメータはインターセプトの開始位置、3 番目のパラメータはインターセプトの長さ、4 番目のパラメータは文字セットです。 。

3. データベースで返される長さを制限する

PHP で返される文字列の長さを制限することに加えて、データベースで返される長さにも制限を設定できます。このようにして、クエリを実行すると、データベースは必要な長さを自動的に返します。

MySQL データベースでは、SUBSTRING() 関数を使用して文字列をインターセプトできます。たとえば、次の SQL ステートメントを使用して、返される文字列の長さを 100 に制限できます。

SELECT SUBSTRING(content, 1, 100) FROM table;
ログイン後にコピー

上記の SQL ステートメントでは、SUBSTRING() 関数の最初のパラメーターは次のとおりです。 to インターセプトされた文字列。2 番目のパラメータはインターセプトの開始位置、3 番目のパラメータはインターセプトの長さです。

4. 概要

PHP では、substr() 関数または mb_substr() を使用してクエリの戻り文字列の長さ制限を実装できます。関数。 。文字列がマルチバイト文字セットの場合は、mb_substr() 関数を使用して戻り値の長さを制限することをお勧めします。データベースの戻り値の長さに制限を設定したい場合は、SUBSTRING() 関数を使用してこれを実現できます。

以上がPHPで返される文字列の長さを制限する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート