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

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


highlight

テキスト内の指定文字ハイライト表示します。

<?php
    // format 例 <strong>で囲む
    echo $this->Text->highlight( 
        $my_text,                               // 対象テキスト
        array( '$needle', '$haystack'),         // ハイライト文字列
        array(                                  // オプション
            'format' => '<strong>\1</strong>',  // (文字列) ハイライトするhtmlコード
//          'html' => false                     // trueの場合は、HTMLタグは無視される
        )
    );
?>

"look for a needle in a haystack"で「干し草の山の中にある1本の針を探す」という意味になる。
excerptと合わせて使う方法を探る。

toList

配列データからカンマ区切りのリストを出力する。最後の2項目は"and"で出力する。

$cc = array( 
	'Master',
	'Visa',
	'JCB'
);
    echo $this->Text->toList( $cc);
// HTML
Master, Visa and JCB
toList(array $list, $and='and', $separator=', ')

  • $list:対象配列
  • $and:末尾2つを結合する文字列
  • $separator:末尾2つ以外を結合するセパレータ

implodeで配列の末尾2つ目までを$separatorで結合し、array_popで配列の最後尾を取り出して$andで結合しています。LINQのToListとは似て非なるもの。

autoParagraph

改行が2つ重なると自動的に<p>タグで囲んでくれます。(2.4以降)

$my_text = nl2br( 'AAAA

AAA');
echo $this->Text->autoParagraph( $my_text);

// HTML
<p>AAAA</p><p>AAA</p>


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

関連記事

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

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

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

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

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

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

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

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

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

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

「isUnique」バリデーション

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

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

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

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

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

Comment

Message

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

*

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

    PAGE TOP ↑