TopMovable Typeカスタマイズエントリー > Movable Type で画像挿入時の form 要素について
2007年9月26日

Movable Type で画像挿入時の form 要素について

Posted at September 26,2007 1:32 AM
Category:[エントリー]
Tag:[, , ]

Movable Type で画像挿入時の form 要素について、下記のエントリーを拝見して「なるほど!」と思いましたので、ご紹介させて頂きます。

WingMemo: サムネイルリストからブログ記事(エントリー)にリンクを張る (MT4用)

MT4のブログ記事作成で画像を挿入し、テキストエリアを「リッチテキスト」以外で参照すると(あるいは最初から「リッチテキスト」以外で編集すると)画像表示用の img 要素が form 要素で括られます。

<form class="mt-enclosure mt-enclosure-image" mt:asset-id="5"><img class="mt-image-left" style="FLOAT: left; MARGIN: 0px 20px 20px 0px" height="426" alt="tea.jpg" src="http://your-domain/images/hoge.jpg" width="640" /></form>

これは MTEntryAssets タグを有効にするための裏情報になるらしいです(詳細は元記事をご覧ください)。

関連で下記の記事もありました。

The blog of H.Fujimoto画像を挿入したときにformタグがつく理由

この処理が行われることで、ブログ記事で挿入した画像は、MTEntryAssets タグの対象となり、ファイルアップロード機能で、アップロードしただけの画像は(当たり前ですが)MTEntryAssets タグの対象にならないということです。

上記以外の情報として、ソースコードを眺めてみると、lib/MT/Util.pmasset_cleanup というサブルーチンがありました。

sub asset_cleanup {
    my ($str) = @_;
    $str =~ s/
        <(?:[Ff][Oo][Rr][Mm]|[Ss][Pp][Aa][Nn])
        ([^>]*?)
        \s
        mt:asset-id="\d+"
        ([^>]+?>)(.*?)
        <\/(?:[Ff][Oo][Rr][Mm]|[Ss][Pp][Aa][Nn])>
    /
    my $attr = $1 . $2;
    my $inner = $3;
    $attr =~ s!\s[Cc][Oo][Nn][Tt][Ee][Nn][Tt][Ee][Dd][Ii][Tt][Aa][Bb][Ll][Ee]=(['"][^'"]*?['"]|[Ff][Aa][Ll][Ss][Ee])!!;
    '<span' . $attr . $inner . '<\/span>'
    /gsex;
    return $str;
}

このサブルーチンは、lib/MT/Template/ContextHandlers.pm 内で、MTEntryBody タグあるいは MTEntryMore タグの処理の最後で、mt:asset-id="AssetID" の文字列がある場合に起動されます。

sub _hdlr_entry_body {
     :
   (中略)
     :
    # Strip the mt:asset-id attribute from any span tags...
    if ($text =~ m/\smt:asset-id="\d+"/) {
        $text = asset_cleanup($text);
    }
    return $text;
}

ということで、勉強になりました。ありがとうございました。
何故 form タグ?というのが知りたいところです。

Posted by yujiro
関連記事
人気エントリー
トラックバックURL


コメント

こんにちは。
記事紹介して下さってありがとうございました。

このformタグ、意味が分からずに削除してしまう人も多いような気がしたので(自分もやってたし)、MTEntryAssets タグのために必要なんだということが少しでも多くの人に伝われば嬉しいです。

[1] Posted by TAEKO : September 27, 2007 1:39 PM

>TAEKOさん
こんにちは。
コメントありがとうございます。
仰る通り、一人でも多くの方に伝わることを期待しています。

私もTAEKOさんの記事を拝見するまで???でした(笑)。

[2] Posted by yujiro : September 28, 2007 2:57 PM
コメントする

*必須



お知らせ:2008年5月現在、多忙のため、7月頃までコメントを速やかに回答できない状態が続きます。ご質問の内容によっては回答が7月以降になる可能性がありますので、予めご了承ください。

太字 イタリック アンダーライン ハイパーリンク 引用

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

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

Now loading...
Entries of this Category
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 ...
BlogPeople
Now loading...
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 4.1
 
List Me!