携帯絵文字変換スクリプト(3キャリア対応?)

2008年8月14日 [ TIPS, TIPS - PHP(MySQL) ]

コンテンツを書こう書こうと思いつつも…
(すでに新サイトの構築はWordPressを改造して一般サイトに見えるようにし、
あとは、コンテンツを投稿(書く)だけになっているのだけど…)、
ログ解析のスクリプトを作ってみたり、
ケータイサイトのアイデアが浮かんだのだけど、
絵文字がないかと寂しいから、
絵文字を表示できるようにしたいなといろいろやってみたり…。

ちなみに、ログ解析のスクリプトはほぼ完成(いつまでもβバージョンの…)したけど、
まったくの自分好みで、入り組んだスクリプトになっちゃったので、
公開することはないでしょう(..;)

さて、本題の携帯文字変換スクリプト。
HTMLタグボートさんが作るスクリプトが使いやすそうだったから、
ダウンロードさせていただきました。
でも、これってSSIを使うんだよなぁ…。
てことで、PHPファイルに埋め込みのできる
つまり、functionで呼び出せるものに改造させていただきました。

何となく汎用でも使えるようにしたので、よろしければ。

なお、確認はPCとiモードでしかできていません。
ので、というか、その他についても動作の保証はしかねますのでその点はご了承ください。
また、cHTMLでのみの動作となりそうです。

2つのファイル(trans.php、emoji.csv)とimagesフォルダがあります。
それぞれ適当な位置
(もちろんimageフォルダはブラウザが参照できる場所)に置き、
trans.phpを設定します。

trans.phpの設定方法は、

12行目:絵文字変換テーブル「emoji.csv」の場所をフルパスで記入
14行目:PC用の絵文字イメージファイルの場所をURL絶対指定で
18行目:auに備わっているのドコモ絵文字変換を使うか使わないかを指定
(yesの場合、表示に若干の時間がかかるものの、fontタグなどが有効になります)

使用方法は、
絵文字を表示させるPHPファイルでスクリプトを呼び出しておく。
例えば、ファイルの先頭あたりに

include (’/home/hogehoge…/trans.php’);

てな感じ。
絵文字を表示させるには、表示させたい位置で

emj(xxx)

を実行。
xxxはドコモの絵文字ナンバーが入ります。

ドコモの絵文字ナンバー 基本絵文字一覧拡張絵文字一覧

例えば、太陽なら絵文字番号が1なので、emj(1)で呼び出します。
実際には、

$html .=
"<font color=\"#ff0000\">これが太陽→".emj(1)."</font>";

などと記述すればいいでしょう。

【参考スクリプト】
HTMLタグボート 携帯絵文字変換スクリプト 3キャリア対応

簡単な三択でSM度がわかる!?

2008年8月12日 [ 更新情報, 更新情報 - SM検定 ]

SM検定」で、新ツールを公開しました。

簡単な三択(現在は8問)であなたの隠れたSM度がわかります!
SM度三択チェック

どうぞお試しください(^u^)

PHPでCookie使用の意外な落とし穴(°m°;) <自分だけかな?

2008年8月9日 [ TIPS, TIPS - PHP(MySQL) ]

実は、自分の好みにあったアクセス解析スクリプトがないので、
(こんなことやってる場合ではなかったんだけど)自作することにした。

自分はサーバーにアップしてからPHPのエラーを修正するので(..;)、
しかも、自分のサイトもよく見るので(笑)、
自分のアクセスを除外して記録するなどのため
Cookieを使用することにした。

ところが、一部のページでどうしても、エラー。
で、エラーメッセージは…

Warning: Cannot modify header information – headers already sent by
(output started at /home/hoge/scripts.php:3)
in /home/hoge/write.php on line 39

…、スクリプトファイルを読み込みに行くだけで、なにか出力してるの?

まさか、スクリプトファイル(PHPのfunctionを格納してます)に問題があるとは思わないで、
Cookieを呼び出す部分を前の方に持っていったり…。
でも、かなり後ろに配置していても
(ちなみに、Smartyでhtmlをはき出しているので、基本的にhtmlは一番最後にはき出す)
まったく問題がない場合もあるし…。

で、よくよくエラーメッセージを見る。
(output started at /home/hoge/scripts.php:3)
の一番最後にあるのは、行番号だよなぁ。

いくつか、ほかにも同様のエラーをはき出すスクリプトファイルがあったので
じ~っくり見てみて、エラーファイルの共通点を探ると…。

!!!!!(°口°;) !!
スクリプトを記述してあるPHPファイル先頭の
<?php
の前に空白行がある。また、最終行の
?>
の後ろに改行や空白行がある!
これを取ったら、すっきりと解決。
先頭や末尾に空白行や改行があってはいけないなんて、
どっかに書いてあったっけ?
「さすが、我流!」って感じの結末でした。

そういや、自分のページのHTMLのソースに空白行が
いっぱいあるのがいつも不思議だったけど、
そのせいだったのね。

ob_end_flush()

などという、使い慣れない関数で、制御しようとまで思ってた。
ま、めでたしめでたしということで。

« Previous - Next »