CakePHPクッキング

URLやメールアドレスに自動でリンクを貼ってくれるヘルパー

開発環境:CakePHP2.5.1

文章の中に書かれたURLやメールアドレスにリンクが貼りたい時に便利なヘルパーがあります。

URLにリンクを貼るautoLinkUrls

まずはURLに自動でリンクを貼る方法ですが、autoLinkUrlsを使います。

<?php
$text = 'CakePHPはPHP用の高速開発フレームワークです。http://cakephp.jp/ アプリケーションの開発、メンテナンス、インストールのための拡張性の高い仕組みを提供します。';
echo $this->Text->autoLinkUrls($text);
?>        

結果は、

CakePHPはPHP用の高速開発フレームワークです。<a href="http://cakephp.jp/">http://cakephp.jp/</a> アプリケーションの開発、メンテナンス、インストールのための拡張性の高い仕組みを提供します。

メールアドレスにリンクを貼るautoLinkEmails

メールアドレスにリンクを貼るにはautoLinkEmailsを使います。

<?php
$text = 'CakePHPはPHP用の高速開発フレームワークです。 info@cakephp.jp アプリケーションの開発、メンテナンス、インストールのための拡張性の高い仕組みを提供します。';
echo $this->Text->autoLinkEmails($text);
?>

結果は、

CakePHPはPHP用の高速開発フレームワークです。 <a href="mailto:info@cakephp.jp">info@cakephp.jp</a> アプリケーションの開発、メンテナンス、インストールのための拡張性の高い仕組みを提供します。

autoLinkUrlsもautoLinkEmailsもやってくれるのがautoLink

URLもメールアドレスもリンクを貼りたいとい時に使えるのがautoLinkです。

<?php
$text = 'CakePHP( http://cakephp.jp/ )はPHP用の高速開発フレームワークです。 info@cakephp.jp アプリケーションの開発、メンテナンス、インストールのための拡張性の高い仕組みを提供します。';
echo $this->Text->autoLink($text);
?>

結果は、

CakePHP( <a href="http://cakephp.jp/">http://cakephp.jp/</a> )はPHP用の高速開発フレームワークです。 <a href="mailto:info@cakephp.jp">info@cakephp.jp</a> アプリケーションの開発、メンテナンス、インストールのための拡張性の高い仕組みを提供します。

リンクが貼られたURLと貼られていないURLが混在する場合の対処方法

一部の文字はリンクが貼られている文章にautoLinkを使うと最初からリンクが貼られたテキストのHTMLタグがそのまま表示されてしまいます。
そこで、一旦HTMLタグを除去することですべてのURLやメールアドレスにリンクを貼ることができます。

<?php
$text = 'CakePHP( http://cakephp.jp/ )はPHP用の高速開発フレームワークです。 <a href="mailto:info@cakephp.jp">info@cakephp.jp</a> アプリケーションの開発、メンテナンス、インストールのための拡張性の高い仕組みを提供します。';
echo $this->Text->autoLink(strip_tags($text));
?>        

結果は、

CakePHP( <a href="http://cakephp.jp/">http://cakephp.jp/</a> )はPHP用の高速開発フレームワークです。 <a href="mailto:info@cakephp.jp">info@cakephp.jp</a> アプリケーションの開発、メンテナンス、インストールのための拡張性の高い仕組みを提供します。
WordPressとCakePHPの共存

サイトを作るのに便利なWordPress。プラグインも数多く用意されて

サイトマップの作成方法

Googleのウェブマスターツールに渡すためのサイトマップの作成方法で

INSERTしたIDを取得する

データを保存した後にINSERTされたデータのIDを使って何かの処理を

ファイルの存在確認やフォルダー内のファイル一覧取得

特定のファイルの存在を確認したい場合や特定のフォルダー内にあるファイル

リンクの最後に常にスラッシュをつける方法

URLの最後に常にスラッシュをつけるかつけないかを統一する方法は、UR

countやsumを使う時のフィールド名を指定する

CakePHPでcountやsumなどを使う場合、ちょっとした工夫が必

Formの便利な使い方

問い合わせフォームや会員機能など、WEBサイトを作る際に必ず必要になる

ヘルパーをオーバーライドする

CakePHPで便利な機能が詰まったヘルパーですが、時々もう少しこうだ

特定の時だけSQLの条件を追加するならSet::mergeを使う

SQLの条件を追加したい時に使うのがarray_mergeなどですが、

ページネーションではDISTINCTではなく、GROUP BYを使う

重複したデータを省く時に使うDISTINCTですが、ページ送りで使う時

Model内で別のModelを呼び出す

モデル内で別のモデルを使いたいケースがあった場合、次のようにすることで

CakePHPでGoogleAnalyticsAPIを使う

CakePHPでGoogleAnalyticsを使う方法について見てい

独自のfindを定義するfindMethods

findをより便利に、よりスッキリ書くのに、findMethodsを使

TCPDFを使ってCakePHPでPDFを作成

CakePHPでPDFを作成するには幾つかの方法がありますが、今回はT

JavaScriptをコードの最下部に配置

SEOの観点からJavaScriptのコードは一番下に記述したいところ

無限スクロールをさせる

TwitterやFacebookのタイムラインを見ていて、ページの下に

PHPExcelの導入

ExcelにDBのデータを表示して一覧を作ったり、請求書などのフォーマ

Warning: SplFileInfo::openFile〜の警告が表示されたら

ShellとWEBの両方で同一のModelを呼び出す時に「Warnin

連結されていないデータを抽出

通常、テーブルを連結してデータを取得するには、アソシエーションを利用し

データを取得する

データを取得したい時に少し変わった条件で取得したい場合があります。

PAGE TOP ↑