HTML - smarty - 長い文字を切り詰める
- 1. 概要
- 2. 長い文字を切り詰める
1. 概要
例題が難しいですが、長い文章を表題に使う場合とかかな・・・。
「なんとかかんとか...」とか「なんとかかんとか云々」とか末尾を省略したいときがあります。
「smarty」では、それを構文で実現できるようです。
本ページは、参考サイトは、リンク切れになりました。
2. 長い文字を切り詰める
参考サイトでは、基本構文は
{$変数|truncate}
で、この場合、80文字で切り詰めると書かれているのですが・・・。
なぜか、わたしの環境では、80文字より長い文字を書いても切り詰められませんでした。
まぁ、文字数を指定する方がいいでしょう。
文字数を指定する場合は
{$変数|truncate:文字数}
で指定します。
更に、末尾は、デフォルトで「...」になっていますが。
{$変数|truncate:文字数:末尾指定文字列}
と記述することによって、末尾が指定した文字列になります。
$smarty->assign('iroha', 'いろはにほへと ちりぬるを');
と記述しておいて、テンプレートに
{$iroha}
{$iroha|truncate:6}
{$iroha|truncate:6:'(云々)'}
と書きましたらば、ブラウザには
いろはにほへと ちりぬるを
いろは...
いろ(云々)
と表示されます。
文字数は、バイトではなく文字数で計算しているようなのですが、2行目と3行目の文字数が異なるのは、謎です。
|
|