テキストから指定文字数で抜粋「excerpt」「truncate」「tail」

Textヘルパーには、コントローラーから受けとったテキストデータを切り取り表示してくれるヘルパーが用意されています。先頭もしくは末尾から指定文字数を切り取ってくれる「truncate」「tail」、指定文字列を中心に切り取りを行ってくれる「excerpt」があります。デモ


truncate

長くなったテキストを先頭から指定の長さに切り取ります。どうやら、省略後の文字数(&length)には'ellipsis'の文字列分も含まれるようです。
(2.3で'ellipsis'に変更。「省略記号」の意。2.2までは'ending')

<?php
echo $this->Text->truncate(
    $my_text,                 // 対象のテキスト
    50,                       // truncateする文字数
    array(
        'ellipsis' => '...',  // (デ:'...') テキストの終わりを表すサイン
        'exact' => true       // (デ:true) falseの場合、単語の途中で切り取らず単語の終りで区切る
        'html' => false       // (デ:false) trueの場合、htmlタグを切り取らない
    )
);
?>
truncate(string $text, int $length=100, array $options)

  • $text:対象のテキスト
  • $length:切り取る文字数
  • $options:オプション

tail

truncateが先頭から切り取りを行うのに対して、tailはテキスト末尾から切り取りを行います。使用方法は、truncateと同じ (2.3 以降)

excerpt

テキスト内から抜粋する。検索結果などに使えそうです。excerptの場合は、切り取りを表す文字は切り取る文字数に含まれません。

<?php
$this->Text->excerpt( 
    $my_text,    対象テキスト
    'method',    中心とする文字列
    50,          文字数(前後それぞれ)
    '...'        切り取りを表す文字
);
?>
excerpt(string $haystack, string $needle, integer $radius=100, string $ellipsis="...")


Textヘルパー:/lib/Cake/View/Helper/TextHelper.php
Helpers > TextHelper
Stringユーティリティ:/lib/Cake/Utility/String.php
Utilities > String
  • このエントリーをはてなブックマークに追加

関連記事

複数データベースの追加と切替

CakePHPで複数のデータベースに切替を行うということがあると思います。(個人的にはあまりない) 今回、CakePHPからWordpressのデータベースへの接続を行う機会があったので設定を試してみ

「isUnique」バリデーション

「isUnique」は、特定カラムの一意性を検証してくれるメソッドです。 2.5.6からは、複数フィールドにまたがる一意性検証にも対応するようになったようです。 使用方法 p

テキストから自動的にリンクを付与「autoLink」と除去「stripLinks」

Textヘルパーには、テキスト処理に関する便利な機能があります。ユーザによる投稿などを表示する際に、URLが貼り付けられている場合に自動的にリンクを付けてくれるautoLinkや、逆に、リンクが貼られ

テキストから指定文字をハイライト「highlight」・配列をリストに展開「toList」・二重改行を<p>タグへ変換「autoParagraph」

Textヘルパーの「highlight」は、テキスト内の指定文字をハイライトしてくれます。検索結果の表示などに使用できそうです。デモ highlight テキスト内の指定文字ハイライト表示しま

シンプルに設置できる数字Captcha「MathCaptcha」

スパム防止などで利用されているCaptchaですが、数字版で使えるものがないか探してみました。この「MathCapthca」は非常にシンプルに設置できます。 ダウンロードはこちらから。 MathC

Cakeログ 出力フォーマット カスタマイズ

Cakeログの出力はFileLogクラスのwriteメソッドで行われます。今回は、出力のフォーマットの変更をいくつか試してみました。 既存のライブラリを上書き(オーバーライド)する方法 wri

ユーザエージェントを取得

Windows XPサポート終了に伴い、移行を促すために有効な手段としてユーザのブラウザやOSの情報を取得して行動を促すというのがあると思います。 グローバル関数「env」でuser-agent

Captchaプラグイン「Captcha Component & Helper」

Captchaプラグインを実装してみました。 ダウンロードはこちら 解凍して、このようになるようにそのままappディレクトリ下に置いてください。 app/Controller/Compone

Comment

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

    PAGE TOP ↑