ショウジンブログ on Hatena

“お芝居をしないと、この社会では異邦人として扱われるほかない”

タイトルの長さを指定して丸める@WordPress

f:id:showjinx:20160418171528j:plain

文字数の上限を設定しておかないと崩れるデザインの場合、重宝してます。

私自身がデザインまでするときはそのへんは「なりゆき」(文字量によって可変で対応できるよう)にするのですが、他のデザイナーさんがキッチリと固まったデザイン(紙媒体のデザインのように高さ等を決めて例外を考慮していない)をあげてきた場合には、こういった出力する文字数を「丸める」処理で対応しています。

例はWordPressのタイトルですが、PHPの関数を使っているのでWordPress以外でももちろん使えます。

mb_strlen()で文字長を取得判別

PHPの文字列関数 “mb_strlen()” を使ってタイトルの長さを取得、判別。

mb_substr()で出力する文字数を制限

同じく文字列関数 “mb_substr” を使ってmb_strlen()で指定した値の文字数よりを超えた場合、出力するタイトルの文字長を36に丸め、その後に指定した文字列を追加しています。

タイトルの文字長が36文字(1バイト文字、マルチバイト文字どちらでも)を超える場合には36文字の後に三点リーダーを追加。それ以外の場合(文字長が36以内)にはそのまま(三点リーダーをつけないで)出力しています。

<?php
    if(mb_strlen($post->post_title)>36) {
        $title= mb_substr($post->post_title,0,36);
        echo $title . "";
    } else {
        echo $post->post_title;
    }
?>

実行結果です。

f:id:showjinx:20160418171244p:plain

もっと あの世に聞いた、この世の仕組み

もっと あの世に聞いた、この世の仕組み

よくわかるPHPの教科書 【PHP5.5対応版】

よくわかるPHPの教科書 【PHP5.5対応版】