ホームページ > バックエンド開発 > PHPチュートリアル > PHP で文字列を効率的に切り詰めるにはどうすればよいですか?

PHP で文字列を効率的に切り詰めるにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-12 10:40:11
オリジナル
703 人が閲覧しました

How Can I Efficiently Truncate Strings in PHP?

PHP での文字列の切り詰め: 包括的なアプローチ

PHP では、表示される文字数を制限する必要がある状況に遭遇することがあります。文字列。これは通常、スペースを確保するか、長いコンテンツのプレビューのみを表示するために行われます。文字列を効率的に切り捨てるためのさまざまなテクニックを見てみましょう。

最初の n 文字を取得する

単純な切り捨ての場合は、PHP の substr() 関数を使用できます。たとえば、文字列の最初の 10 文字を取得し、文字が削除された場合に省略記号 (...) を追加するには、次のコードを使用できます:

$string = substr($string, 0, 10) . '...';
ログイン後にコピー

長さの最適化

切り詰められた文字列が常に希望の長さであることを確認するには、前に長さを確認します。 truncating:

$string = (strlen($string) > 13) ? substr($string, 0, 10) . '...' : $string;
ログイン後にコピー

この例では、最大長は 13 文字です。文字列が長い場合は、10 文字に切り詰められ、その後に省略記号が付けられます。それ以外の場合は、元の文字列が返されます。

Truncate 関数の作成

より再利用可能なソリューションとして、カスタム truncate() 関数を作成できます。

function truncate($string, $length, $dots = "...") {
    return (strlen($string) > $length) ? substr($string, 0, $length - strlen($dots)) . $dots : $string;
}
ログイン後にコピー

この関数は、元の文字列、必要な長さ、およびオプションの省略記号文字列を次のように受け取ります。パラメータ。

単語の区切りを避ける

単語の途中で文字列が切り捨てられるのを避けたい場合は、PHP の wordwrap() 関数を使用できます。

function truncate($string, $length=100, $append="…") {
    //... (omitting other code from previous code snippet)
    $string = explode("\n", $string, 2);
    $string = $string[0] . $append;
    //... (continuing code from previous code snippet)
}
ログイン後にコピー

このコードは、切り詰められた文字列を最も近い文字列にラップすることで、単語の途中で終了しないようにします。切り詰められる前の単語の境界。

以上がPHP で文字列を効率的に切り詰めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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