TopMovable Typeモディファイア > strip_tagsモディファイアとremove_htmlモディファイアの違い
2010年5月11日

strip_tagsモディファイアとremove_htmlモディファイアの違い

Posted at May 11,2010 11:55 PM
Category:[モディファイア]
Tag:[, , ]

Twitterでriatwさんの次のつぶやきをみつけたので本エントリーにて紹介します。

strip_tagsモディファイアとremove_htmlモディファイアの違い

Movable Typeのstrip_tagsモディファイアとremove_htmlモディファイアは、どちらもテンプレートタグの出力結果からHTMLタグを取り除く機能があります。次のように記述すれば、ブログ記事本文のHTMLタグを取り除きます。

<mt:EntryBody remove_html="1" />

または

<mt:EntryBody strip_tags="1" />

そして、それぞれのモディファイアの機能は全く同じです。どちらもMT::Util::remove_htmlを起動しています。「strip_tagsはremove_htmlのエイリアスです」とコメントにも記載されています。

remove_htmlモディファイアのソースコード

###########################################################################
 
=head2 remove_html
 
Removes any HTML markup from the input.
 
=cut
 
sub _fltr_remove_html {
    my ($str, $val, $ctx) = @_;
    MT::Util::remove_html($str);
}

strip_tagsモディファイアのソースコード

###########################################################################
 
=head2 strip_tags
 
An alias for L<remove_html>. Removes all HTML markup from the input.
 
=cut
 
sub _fltr_strip_tags {
    my ($str, $val, $ctx) = @_;
    return MT::Util::remove_html($str);
}

MT::Util::remove_htmlは、次の実装になっています。

sub remove_html {
    my($text) = @_;
    return '' if !defined $text;  # suppress warnings
    {
        use bytes;
        $text =~ s/(<\!\[CDATA\[(.*?)\]\]>)|(<[^>]+>)/
            defined $1 ? $1 : ''
            /geisx;
        $text =~ s/<(?!\!\[CDATA\[)/&lt;/gis;
    }
    return $text;
}

これだけでは何なので、それぞれのモディファイアがどのバージョンで実装されたかを調べました。

  • remove_html:Movable Type 1.4 あたりで追加
  • strip_tags:Movable Type 4.0 で追加

ということで、remove_htmlが大先輩でした。

Posted by yujiro   このページの先頭に戻る
関連記事
    この記事を読んだ人はこんな記事も読んでいます
    人気エントリー
    Hatena Hot Entries
    Hatena Entries
    トラックバックURL


    コメントする
    greeting

    *必須

    *必須(非表示)


    ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

    太字 イタリック アンダーライン ハイパーリンク 引用
    [サインインしない場合はここにCAPTCHAを表示します]

    コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

    コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)

    Now loading...
    Introduction
    Entries of this Category
    Recent Entries
    Recent Comments
    Recent Trackbacks
    QRcode

    現在停止中です
    携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

    URI for cellular phones
    ギターに入った猫
    Styles
    Font Size
    Default
    For defective color vision
    Gray Scale
    RGB Color
    Search this site

    このブログをメールで購読する by:FeedBurner

    loading ...
    Categories
    Monthly Archives
    BlogPeople
    Syndicate this site
    FeedBurner(RSS1.0/RSS2.0/Atom)
    Counter
    これまでのアクセス
    クリエイティブ・コモンズ・ライセンス
    Powered by
    Movable Type 5.12