機種依存文字である半角カタカナは Mac だと文字化けするため、使わないのがネットの基本です。しかし解像度が低い携帯端末で閲覧する場合は、1行に多く表示できる半角カタカナの方が読みやすくなります。
また全角(2 bytes)に比べ半角(1 byte)に変換する事で、若干ですがパケット代の節約にもなります。
そこでスクリプトを少し改造して、携帯端末でアクセスした時は「全角→半角」に自動的に変換できるようにしてしまいましょう。
お使いのサーバーで PHP のマルチバイト文字列関数(mbstring)が有効である必要があります。
無効である場合、エラーになるので注意してください。
以下の改造を施す事で、「全角カタカナ→半角カタカナ」「全角英数字→半角英数字」「全角スペース→半角スペース」に自動的に変換されます。
携帯端末以外ではそのまま表示されるので、Mac だと文字化けするという心配もありません。
変換されるのは以下の部分です。
「index.php」1000行目あたりに赤い文字列部分を追加
/* ----- ログリスト用スキン変換 ----- */
function blogn_log_list_skin_replace($tmpbuf, $key, $val, $userlist, $category1, $category2, $mode) {
if (BLOGN_MOBILE_KEY == 1) {
$val["title"] = mb_convert_kana($val["title"], "ask");
$val["mes"] = mb_convert_kana($val["mes"], "ask");
$val["more"] = mb_convert_kana($val["more"], "ask");
}
$linkurl = '<a href="index.php?e='.$val["id"].'">'.$val["title"].'';
$tmpbuf = str_replace("{LOGTITLE}", $linkurl, $tmpbuf);
「index.php」1200行目あたりに赤い文字列部分を追加
$comment = get_magic_quotes_gpc() ? stripslashes($cmtval["comment"]) : $cmtval["comment"]; //¥を削除
$comment = preg_replace("/<(br)>/i", "<br>", $comment);
$comment = preg_replace("/<(br)([ ]+[\w\W]+?)>/i", "<br\\2>", $comment);
if (BLOGN_MOBILE_KEY == 1) {
$comment = mb_convert_kana($comment, "ask");
}
$cmt_tmp_buf = str_replace ("{COMMENTBODY}", $comment, $cmt_tmp_buf);
「index.php」1200行目あたりに赤い文字列部分を追加
$trackback = get_magic_quotes_gpc() ? stripslashes($trkval["mes"]) : $trkval["mes"]; //¥を削除
$trackback = preg_replace("/<(br)>/i", "<br>", $trackback);
$trackback = preg_replace("/<(br)([ ]+[\w\W]+?)>/i", "<br\\2>", $trackback);
if (BLOGN_MOBILE_KEY == 1) {
$trackback = mb_convert_kana($trackback, "ask");
}
$trk_tmp_buf = str_replace ("{TRACKBACKBODY}", $trackback, $trk_tmp_buf);