PHPで文字数を制限し、超過分を『…』に置き換えるコード

記事タイトルや抜粋など、
文字数は未確定だけど、
長くなりすぎると困るような
文字列を捌く際に便利なコードです。

ソースコードと解説

//整形したい文字列
$text = '終わりが無いのが終わり、それがゴールド・エクスペリエンス・レクイエム';
//文字数の上限
$limit = 32;

if(mb_strlen($text) > $limit) { 
$title = mb_substr($text,0,$limit);
echo $title. ・・・ ;
} else {
echo get_the_title($text);
}

終わりが無いのが終わり、それがゴールド・エクスペリエンス・レクイ・・・

文字列が32文字以上の場合に、
33文字目以降を…で置き換えています。

関数の解説

mb_strlen

取得した文字列の文字数をカウントします。

mb_substr

取得した文字列の一部を返します。

WordPressで記事タイトルを文字数制限する場合

$text = get_the_title();
$limit = 32;

if(mb_strlen($text) > $limit) { 
$title = mb_substr($text,0,$limit);
echo $title. ・・・ ;
} else {
echo get_the_title($text);
}

ごくごく単純に、
$textにget_the_title();
代入してあげればOKです。