ブログアプリ制作

ブログアプリ制作はまぁまぁ順調で、
オプションであるコメントに手を出し始めました。


本日のメニュー
■ブログアプリ制作

  • 記事一覧
  • ログイン
  • 記事編集
  • 記事削除
  • コメント


[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を使いたい人が多いから、
使えるようになってるかもしれないし、
同じブログっていうアプリケーションでも、
様々なのかなぁ〜って感じました。


でも、セキュリティ大事だよね。