Yahoo! JAPAN OpenID を省略表示する(その2)

Yahoo! JAPAN OpenID を省略表示する(その2)

Posted at October 14,2010 12:03 AM
Tag:[Customize, MovableType, MTCommentAuthorLink]

Movable TypeのMTCommentAuthorLinkタグで出力されるYahoo! JAPAN OpenID を省略表示するカスタマイズです。ご質問を頂きましたので本エントリーで紹介致します。

1.Yahoo! JAPAN OpenID表示について

Yahoo! JAPAN OpenIDでMovable Typeにコメント投稿すると、コメント欄に次のようにYahoo! JAPAN OpenIDが表示されます。Yahoo! JAPAN OpenIDでは、IDに紐づいたユーザー名を公開しない仕様になっているので、OpenIDをそのままユーザー名として扱うことになり、非常に長いです。

コメント欄
変更前

以下、Yahoo! JAPAN OpenIDを省略表示するカスタマイズをいくつか紹介します。なお、「Yahoo! JAPAN OpenID を省略表示する」ではMTCommentAuthorタグのカスタマイズについて紹介しています。

2.36文字のパラメータだけを表示

MTCommentAuthorLinkタグに、次のregex_replaceモディファイアを追加します。

<mt:CommentAuthorLink regex_replace="/https:\/\/me\.yahoo\.co\.jp\/a\/(\S{36})<\/a>$/","$1" />

変更後のコメント欄
変更後

「クラシックブログ」テーマの場合、「コメント詳細」テンプレートモジュールを以下のように修正します(青色部分)。

<div id="comment-<$mt:CommentID$>" class="comment<mt:IfCommentParent>  comment-reply</mt:IfCommentParent><mt:IfCommenterIsEntryAuthor>  entry-author-comment</mt:IfCommenterIsEntryAuthor>">
    <div class="inner">
        <div class="comment-header">
            <div class="asset-meta">
                <span class="byline">
                    <$mt:CommentAuthorIdentity$>
<mt:IfCommentParent>
                    <span class="vcard author">$mt:CommentAuthorLink regex_replace="/https:\/\/me\.yahoo\.co\.jp\/a\/(\S{36})<\/a>$/","$1"$></span>から<a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>"><mt:CommentParent>$mt:CommentAuthorLink regex_replace="/https:\/\/me\.yahoo\.co\.jp\/a\/(\S{36})<\/a>$/","$1"$></mt:CommentParent></a>への返信
<mt:Else>
                    <span class="vcard author"><$mt:CommentAuthorLink regex_replace="/https:\/\/me\.yahoo\.co\.jp\/a\/(\S{36})<\/a>$/","$1"$></span>
</mt:IfCommentParent>
                    | <a href="<$mt:CommentLink$>"><abbr class="published" title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate$></abbr></a>
<mt:IfCommentsAccepted>
                    | <$mt:CommentReplyToLink$>
</mt:IfCommentsAccepted>
                </span>
            </div>
        </div>
        <div class="comment-content">
            <$mt:CommentBody$>
        </div>
    </div>
</div>

3.「yahoo」と任意の文字数のパラメータを表示

「yahoo:」という文字列と、先頭10文字のパラメータを表示する場合、MTCommentAuthorLinkタグに、次のregex_replaceモディファイアを追加します。

<mt:CommentAuthorLink regex_replace="/https:\/\/me\.yahoo\.co\.jp\/a\/(\S{10})\S{26}<\/a>$/","yahoo:$1" />

変更後のコメント欄
変更後

regex_replaceモディファイアに含まれる「{10}」や「{26}」の部分を、合計36になるように変更すれば、任意の文字数を取り出せます。

4.「https://me.yahoo.co.jp/a/」と任意の文字数のパラメータを表示

URLの「https://me.yahoo.co.jp/a/」と、先頭10文字のパラメータを表示する場合、MTCommentAuthorLinkタグに、次のregex_replaceモディファイアを追加します。

<mt:CommentAuthorLink regex_replace="/(https:\/\/me\.yahoo\.co\.jp\/a\/\S{10})\S{26}<\/a>$/","$1" />

変更後のコメント欄
変更後

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


コメントする
greeting

*必須

*必須(非表示)


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

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

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

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