主に「くだらないこと」「デジタル機器系」「すげぇと思ったもの」「Googleなどの検索エンジンもの」「マーケットやアンケート調査」「サッカー」「ゲーム」「ロードバイク(自転車)」などの情報をピックアップしています。たまにSEO、Ruby、CMSなどのナレッジログがあります。
RSS feed

ブックマークボタン

Skype

Chat with me - cyborgninja: オフライン

その他

ブログランキング・にほんブログ村へ
フィードメーター - 機械忍者
あわせて読みたいブログパーツ
 

このサイトについて

主に「ウェブサイト関連のネタトピック(SEOとかユーザビリティとか)」、「IT関連のTIPS、ナレッジ」などをつらつらと入れていきます。
Ruby、Rails、ObjectiveCなどのプログラム的なもんもありますが、MACとかiphoneとかそういうものも取り上げますし、ブログとかSNSとかも雑食に扱います。
「うわ、これどうやんだっけ?」ってことがここのサイトで調べられたらいいなぁ(遠い目)
絶賛不定期連載のため、RSSやTwitterなどで更新を確認してくださいー

おすすめ漫画

  • MT3.1でもエントリやタイトルに字数制限をかけて文字数を調整できる、その方法

    Posted on 8月 24th, 2004 機械忍者 9 comments

    エントリ書いたはいいがタイトルが長すぎたせいで、改行され、デザインが見るも無残な姿になって「あーんもぅっ!」と思わずイヤラシイ声を漏らしてしまったアータ!
    文字数制限にLet’s Try。
    MovableType3.1の環境下でも試しましたのでほぼ問題ないと思います。
    M’s folder: MT 長いタイトルをトリミングする
    インストールの手順は長いタイトルをトリミングする: *vitalage*blog
    が一番わかりやすかった印象です。
    このプラグインがMT3.1でも使うことができました。


    MovableType3.1でも全く同様のインストで行えます。
    1.ソースをコピる
    EUCなら

    # 指定された文字数(半角文字数)にトリミングするフィルタ
    # EUC-JP 専用
    package MT::Plugin::Trimj;
    use MT::Template::Context;
    MT::Template::Context->add_global_filter(trimj_to => sub {
    my($str, $nstr, $ctx) = @_;
    my $sippo = ‘…’;
    my $lenstr = length($str);
    if($lenstr <= $nstr){return $str;}
    my $out = substr($str,0,$nstr);
    if ($out =~ /¥x8F$/ or $out =~ tr/¥x8E¥xA1-¥xFE// % 2) {
    chop $out;
    if($out =~ /¥x8F$/){
    chop $out;
    }
    }
    $out .= $sippo;# 尻尾を付けたくない場合は、コメントアウトのこと。
    return $out;
    });
    1;

    UTF-8なら

    package MT::Plugin::Trimj;
    use MT::Template::Context;
    MT::Template::Context->add_global_filter(trimj_to => sub {
    my($str, $nstr, $ctx) = @_;
    my $sippo = ‘…’;
    my $lenstr = length($str);
    if ($lenstr <= $nstr) { return $str; }
    my $out = substr($str,0,$nstr);
    if ($out !~ /[?x00-?x7F]$/) {
    $out =~ s/[?xC0-?xFD]$//;
    $out =~ s/[?xE0-?xFD][?x80-?xBF]$//;
    $out =~ s/[?xF0-?xFD][?x80-?xBF]{2}$//;
    }
    $out .= $sippo; # 尻尾を付けたくない場合は、コメントアウトのこと。
    return $out;
    });
    1;

    人生迷い箸: 日本語対応トリミングフィルタ(再度バグ修正)ではJcodeを使ってますが上記のは使わないバージョン。
    Jcodeを利用するのが好きな人は人生迷い箸さんのソースを。
    2.テキストエディタに貼って保存
    メモ帳とかTerapadとかで保存。ファイル名は「mt-trimj.pl」とかにでもしておくのがいいらしいです。つーかまぁ拡張子の「.pl」さえ変更しなければいいんですけど。
    3.「plugin」フォルダ内にアップロード
    アップすればOK。
    ここで示しているpluginフォルダというのはトップの階層にあるはずです。その中に入れてってことです。
    古いMTのバージョンでは、pluginフォルダがあるんだかないんだかよくわかりませんが、確かなかったかと。ですのでそれらバージョンの場合何処にいれていいのか私は知りません。どっかで調べてください。
    4.MovableTypeのテンプレートを変更する
    文字数制限をかけたいところに「 trimj_to=”字数(半角カウントで)”」と付記する。

    例:
    <$MTEntryTitle$> → <$MTEntryTitle trimj_to="40"$>
    <$MTEntryBody$> → <$MTEntryBody trimj_to="200"$>

    5.リビルド
    完了です。
    9/24追記:
    ちょっと問題発見しました。
    $MTEntryBodyなどにこのタグを追加すると、PタグやBRタグといったHTMLタグも文字数としてカウントしているようですね。
    これはこまった・・。純粋なテキストだけになんとか絞れませんでしょうかね。

 

9 responses to “MT3.1でもエントリやタイトルに字数制限をかけて文字数を調整できる、その方法” RSS icon

  • 長いタイトルをトリミングする

    カテゴリリストは長くなると見づらかったので、適当な文字数だけ表示するように変更。…

  • とても見やすい記事をかかれていらっしゃるので、こちらからもTBさせていただきました。
    MT3.1でもちゃんと機能するんですね。めもめも_φ(.. )

  • はじめまして。
    MT3でも動くということで、安心しました。
    ちなみにMT2系では「/plugins」ディレクトリです。

  • > ryokoさん
    誉めてもなにもでませんぜぇ。
    > muraさん
    んと、正確には「3」ではなくて「3.1」なんです。
    なので3で動くかどうかの検証はしてません。
    まー、3で問題が出る確率は0に近いぐらい低いとは思いますけどんねぃ。
    MT2系の場所教えてくれてどもです。

  • 9/24追記のことですが、
    タグ全部抜けたらいいなぁ・・・なーんて。どなたかやってくれねぇかなぁ。
    ひとまかーせ。

  • 機械忍者さんはじめまして。
    ヴァリウム男爵@人生迷い箸です。TBありがとうございます。
    単にHTMLタグを抜いてしまえばよいのであれば、remove_htmlアトリビュートと併用されてはいかがでしょうか。たとえば、
    <$MTEntryBody remove_html="1" trimj_to="40"$>
    って感じで。的外れだったらゴメンナサイ。

  • うぬぁああ。試してから返事する予定でしたが、先に。
    ヴァリウム男爵さん、情報ありがとうございます。
    試すのみ。
    試したらエントリで返事をば。

  • 長すぎるタイトルをトリミング

    長すぎるタイトルをつけた場合にエントリ表示が2行になってしまったりしてせっかくの…

  • タイトルのトリミング

    このブログも、ときどきトラックバックを頂けるようになってきました。 ただ、積極的…


Leave a reply