本文へ
Crossbreedクロスブリード

ホーム / ネット文化 / タイトルを指定文字数で切り詰め(mb_strimwidth)

Movable Type

タイトルを指定文字数で切り詰め(mb_strimwidth)

タイトルが長くて困った事はないですか?

当サイトでは過去ログ一覧のタイトル表示において、タイトル部に画像を使っていて、カテゴリも合わせて表示させているので長いタイトルだと2行にわたる事があります。そして見栄えが激しく悪くなります。そこで色々調べてみました。

php化したことにより、初めてphpらしきものを使って、タイトル部を指定文字だけ表示して残りは切り捨てる関数を使いました。

mb_strimwidth()

という関数でやります。では実際に使ってみましょう。

スポンサードリンク

mb_strimwidth関数の使い方

mb_strimwidth(【文字列】,【始まりのバイト位置】,【最大バイト数】,【カットした後に表示する文字列】,【エンコード】)

このように指定します。
エンコードは、utf-8だと「utf8」、eucだと「euc」と指定、タイトルを50バイトでカットしたかったので、以下のようにやってみました。

$str = "";
$str = mb_strimwidth ($str, 0, 50, "…",utf8);
?>

これで結果は・・・

mb_str.jpg

このように「…」がついて省略されて表示されます。これで長いタイトルもレイアウトを気にせずに書けますね。

しかし、これって重くなるのかなあ。

スポンサードリンク

※このサイトはさくらインターネットのサーバを利用しています。

■gi(ギィー)福岡浄水通りの絣(かすり)と手作り雑貨のセレクトショップ
↑サイト内紹介記事
【PR】BTOパソコンの先駆者 FRONTIER

読者のコメント5件

記事が公開された当時に寄せられたものを、そのまま残しています。受付は終了しました。

  1. zRyu

    こんにちは。
    いつも参考にさせていただいてます。

    ぼくも気になっていたんですよね、タイトルの長さ。
    昔、別の方法で長さを指定していたサイトを見たことがありますがサイト名忘れちゃいました…
    #こちらで紹介されている方法じゃなかったのは確かです。

    自分のサイトもPHPが使えるので今度やってみます。

    では。

  2. 管理人ayu

    >zRyuさん
    ほかの方法があるんですか?
    もし見つけたら教えてください。

  3. nowel

    ↑たしかプラグインがあったはずですよ。
    名前は覚えて無いですが・・・

  4. dax

    プラグインは
    http://www.villagewood.net/blog/archives/000195.html
    かな?

  5. 管理人ayu

    nowelさん、daxさん情報ありがとうございます。

    プラグインもあるんですね。phpによる記述とどっちが軽いんでしょうね。

    誰か検証してくれないかなあ。