タイトルの長さを指定して丸める@WordPress
文字数の上限を設定しておかないと崩れるデザインの場合、重宝してます。
私自身がデザインまでするときはそのへんは「なりゆき」(文字量によって可変で対応できるよう)にするのですが、他のデザイナーさんがキッチリと固まったデザイン(紙媒体のデザインのように高さ等を決めて例外を考慮していない)をあげてきた場合には、こういった出力する文字数を「丸める」処理で対応しています。
例は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; } ?>
実行結果です。
- 作者: 雲黒斎
- 出版社/メーカー: サンマーク出版
- 発売日: 2013/08/02
- メディア: 単行本
- この商品を含むブログ (6件) を見る
- 作者: たにぐちまこと
- 出版社/メーカー: マイナビ
- 発売日: 2014/03/08
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (13件) を見る