ブログアプリ制作
ブログアプリ制作はまぁまぁ順調で、
オプションであるコメントに手を出し始めました。
本日のメニュー
■ブログアプリ制作
- 記事一覧
- ログイン
- 記事編集
- 記事削除
- コメント
[truncate_textを日本語で使うと文字化けしちゃう解決方法]
truncate_textという長いテキスト部分を「…」などの表記で指定した文字数で丸めるヘルパー関数があります。
しかし、これを日本語で使うと文字化けがちらほら…。
どうやら日本語はマルチバイト文字なので通常のString関数を使用していれば不具合が起きる可能性があるとのことです。
この解決方法をネットで探していたら、
解決方法を発見しました。
それによると、
/*
TextHelper::truncate_textのマルチバイト対応
*/
function mb_truncate_text(
$text, $length = 30,
$truncate_string = '...',
$truncate_lastspace = false
)
{
mb_internal_encoding("UTF-8");
if ($text == '') return '';
if (mb_strlen($text) > $length)
{
$truncate_text = mb_substr($text, 0, $length - strlen($truncate_string));
if($truncate_lastspace)
{
$truncate_text = mb_preg_replace('/\s+?(\S+)?$/', '', $truncate_text);
}
return $truncate_text.$truncate_string;
}
else
{
return $text;
}
}
これで無事、文字化けが解決しました。
このサイトのおかげで助かったぁ〜とか思ったら、
自社のサイトでしたw
※参考http://blog.symfony.jp/2006/06/22/46
そうそう、
そういえば今日は、
制作しているブログの本文にhtmlタグを入れないようにする処理をしたんだけど、
大抵のブログはある程度のhtmlタグが入れれるようで、
水平線入れてみたり…
アンカーつけてみたり
テーブルも | 入れられる |
なんて | しらなかったから |
ちょっと | ビックリ |
しま | した |
ってこんなことしたら怒られちゃうかな??
とまぁ、
このブログはhtmlを使いたい人が多いから、
使えるようになってるかもしれないし、
同じブログっていうアプリケーションでも、
様々なのかなぁ〜って感じました。
でも、セキュリティ大事だよね。