NP_chat|スマイリーを追加
NP_chat|スマイリーを追加
- Author : pushman|Nucleus|2005-09-18 Sun 16:56
-
僕が初めて作った人様のサイト「animation soup」では、ミニ掲示板に「NP_Chat」を使用させていただいています。スマイリーも使用できて大変楽しいのですが、「スマイリーを追加できますか?」とのご要望を受けてしまいました。「phpわかんねぇ〜」と思っていたのですが、やはりanimation soupさんが作るスマイリーを見たい〜! と思ったので頑張ってみました。
とはいってもどこどうしていいやら…と思いながらソースを眺めていたら、思いの外簡単にデフォルトのスマイリー表示機能を発見しました。98行目あたりにある「function init()」という関数で定義しています。
まず、このスマイリー表示機能ですが、書き込む際に任意のアイコンをクリックすると、そのアイコンではなく、アイコンに対応した文字列が記入されます。その文字列が「function init()」内にずらーっと配列(連想配列、ですよね?)として定義されています。例えば、「$smileys[:-D]」は「smiles/icon_biggrin.gif」という具合ですね。まあ詳細はわかりませんが「:-D」と入力されれば「smiles/icon_biggrin.gif」を表示しろということですね。定義方法は
$smileys = array( ':-D' => 'smiles/icon_biggrin.gif', ':P' => 'smiles/icon_razz.gif', ':-)' => 'smiles/icon_smile.gif', ':o' => 'smiles/icon_surprised.gif', ';-)' => 'smiles/icon_wink.gif' ':|' => 'smiles/icon_neutral.gif', ':?' => 'smiles/icon_confused.gif', ':-(' => 'smiles/icon_sad.gif', '8O' => 'smiles/icon_eek.gif', ':x' => 'smiles/icon_mad.gif', );こんな感じです。ここに追加してもいいのでしょうが、追加分をはっきりさせるために自分で配列を定義しました。
$asoup = array( ':kuri:' => 'asoup/donguri.gif', ':ele:' => 'asoup/ele.gif', ':idea:' => 'asoup/hakase.gif', ':soup:' => 'asoup/nonsoup.gif', ':denki:' => 'asoup/denki.gif', );こんな感じです。つまり、配列の値に対応する画像のURIを与えるだけです。
最後に
$this->smiley = array_merge($smileys0, $smileys, $smileys21, $asoup);として、自分の定義した配列を登録すれば完成です。
-
-
Tag(s): NP_chat
- [Nucleus] Next & Previous


