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

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

  • 2007-03-30 (金) 20:49
  • PHP
この記事の所要時間: 041

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

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

modifier.url_link.php

<?php
/*
 * Smarty plugin
 * URL to link
 *
 * @param  string $value
 * @param  string $target
 * @return string
 */
function smarty_modifier_url_link($value, $target = null) 
{
    $options = "";
    if (!empty($target)) {
      $options = sprintf(" target=\"%s\"", $target);
    }

    $value = ereg_replace("&#91;&#91;:alpha:&#93;&#93;+://&#91;^<>[:space:]]+[[:alnum:]/]",
                         "<a href=\"\\0\"" . $options . ">\\0</a>", $value); 
    return $value; 
}
?>

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

{$text|escape|url_link}

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

{$text|escape|url_link:"_blank"}

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

Pocket

follow us in feedly

コメント (Close):1

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

イイ!!

トラックバック:0

このエントリーのトラックバックURL
/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