Home > PHP > URLをリンクにするSmartyプラグイン

URLをリンクにするSmartyプラグイン

  • 2007-03-30 (金) 20:49
  • PHP
  • このエントリーをはてなブックマークに追加
この記事の所要時間: 041

テキスト中にURLが含まれている場合にそれをaタグで囲むSmartyプラグインです。

既にありそうなのですが見つけられなかったので作りました。よろしければどうぞ。

modifier.url_link.php

PHP:
  1. <?php
  2. /*
  3. * Smarty plugin
  4. * URL to link
  5. *
  6. * @param  string $value
  7. * @param  string $target
  8. * @return string
  9. */
  10. function smarty_modifier_url_link($value, $target = null)
  11. {
  12.     $options = "";
  13.     if (!empty($target)) {
  14.       $options = sprintf(" target=\"%s\"", $target);
  15.     }
  16.  
  17.     $value = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
  18.                          "<a href=\"\\0\"" . $options . ">\\0</a>", $value);
  19.     return $value;
  20. }
  21. ?>

plugins/ディレクトリに設置すれば↓のように使えます。

PHP:
  1. {$text|escape|url_link}

aタグにtarget属性を付加する場合は設定する値を渡します。

PHP:
  1. {$text|escape|url_link:"_blank"}

Smartyはビューテンプレートでちょっとした加工ができるので便利です。SmartyテンプレートがPHP以外の言語でも使えたら良いのに。

コメント (Close):1

komagata 07-03-31 (土) 12:10

イイ!!

トラックバック:0

このエントリーのトラックバックURL
http://www.1x1.jp/blog/2007/03/php_smarty_url_link.html/trackback
Listed below are links to weblogs that reference
URLをリンクにするSmartyプラグイン from Shin x blog

Home > PHP > URLをリンクにするSmartyプラグイン

検索
フィード
メタ情報

Return to page top