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

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


autoLink

対象のテキスト内からURLもしくはメールアドレスを抽出してリンクを付与します。
URLのプロトコルは、https, http, ftp, nntpが対象。
自動的にエスケープされる。エスケープさせない場合は、オプションに'escape' => falseを指定。
メールアドレスのみを対象とする場合は、autoLinkEmailsを。URLのみの場合は、autoLinkUrlsを使用して下さい。

<?php
    $my_text = 'Contact Form http://kwski.net/contact/';
    echo $this->Text->autoLink( $my_text);
    // 別ウィンドウ(タブ)で開く場合は、以下のようにオプションを指定
    echo $this->Text->autoLink( $my_text, array( 'target' => '_blank'));
?>

// HTML
Contact Form <a href="http://kwski.net/contact/">http://kwski.net/contact/</a>
Contact Form <a target="_blank" href="http://kwski.net/contact/">http://kwski.net/contact/</a>
autoLink(string $text, array $htmlOptions=array())

  • $text:対象のテキスト
  • $htmlOptions($array()):HTMLのオプション

stripLinks

テキスト内にリンク要素がある場合にリンクを除去してくれます。

<?php
    $my_text = 'refer to ' . '<a href="http://book.cakephp.org/2.0/en/core-libraries/helpers/text.html" target="_blank">TextHelper - CakePHP Cookbook v2.x documentation</a>';
    echo $my_text;
    echo $this->Text->stripLinks( $my_text);
?>

// HTML
refer to <a target="_blank" href="http://book.cakephp.org/2.0/en/core-libraries/helpers/text.html">TextHelper - CakePHP Cookbook v2.x documentation</a>
refer to TextHelper - CakePHP Cookbook v2.x documentation 
stripLinks( $text)

  • $text:対象のテキスト


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

関連記事

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

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

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

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

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

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

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

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

「isUnique」バリデーション

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

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

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

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

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

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

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

Message

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

*

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

    PAGE TOP ↑