2016 10,26 18:51 |
|
Smartyで、表示させている文章が長いので、
よくある「...」と続く文字を入れて、一定文章を短くしたかったのだけど 少し嵌ったので、記載 | substr : 0:100 みたいにやってみたけど、文字化けなどが発生 色々調べてみたら、なるほど!っていう方法 truncate 修正子を使うといいよ!と truncate は、文字列を指定の文字数までで切ってくれます。切った後につける文字列も指定できるので、
$smarty->assign('string', 'abcdefghijklmnopqrstuvwxyz');
{$string|truncate:5:"..."}
などとすれば、文字列は 5 つめで切り捨てられ 「abcde...」と表示される
でも、日本語では化けると ってことで、smartyのpluginを作っちゃえということらしい function smarty_modifier_mb_truncate($string, $length = 80, $etc = '...') {
if ($length == 0) {return '';}
if (mb_strlen($string) > $length) {
return mb_substr($string, 0, $length).$etc;
} else {
return $string;
}
}
これを「modifier.mb_truncate.php」という名前で保存し、「smarty/libs/plugins」の中に放り込めば、テンプレート内で
{$string|mb_truncate:5:"..."}
このように使用する
でも、私の場合、これでお文字化けをしたなので、 mb_internal_encoding("UTF-8"); を smarty_modifier_mb_truncate内の一番最初で処理させたら、OK~! 素晴らしく簡単にしてくれました。ありがたや 参考サイト PR |
|
2016 10,18 13:35 |
|
監視ツールで、WEBの監視をしているけど
あまりアクセスがないので、そのツールのログばっかりになってしまう しかも、1回で2行のログが出来る いい加減、うっとうしいので、少しApacheの設定をいじってみた CustomLog logs/access_log common env=!nolog
SetEnvIf Remote_Addr IPアドレス nolog
(SetEnvIf Remote_Addr 192.168.1. nolog) みたいな感じで なんでか、1行減った・・・ なんで、2行減らないんだ? まぁ、とりあえずはいいか 追記 上記を設定していても、 CustomLog logs/access_log common をコメントアウトするの忘れていた。。。orz 個人的には、User-Agentや、Refererが記載されていないと怖いと思うので、 それは残すように下記のように変更 CustomLog logs/access_log combined env=!nolog |
|
2016 08,01 19:07 |
|
2016 08,01 13:39 |
|
2016 05,14 03:10 |
|
忍者ブログ [PR] |