U?ywam zmodyfikowanego parsera emotek (doda?em troch? swoich itp.), oto fragment kodu:
function parsesmileys($message) {
$smiley = array(
"#\:\)#si" => "<img src='".IMAGES."smiley/usmiech.gif' alt='usmiech'>",
"#\;\)#si" => "<img src='".IMAGES."smiley/oczko.gif' alt='oczko'>",
"#\:\(#si" => "<img src='".IMAGES."smiley/smutny.gif' alt='smutny'>",
"#\;\(#si" => "<img src='".IMAGES."smiley/smutny.gif' alt='smutny'>",
(...)
"#\:tia:#si" => "<img src='".IMAGES."smiley/tia.gif' alt='tia'>",
"#\:trup:#si" => "<img src='".IMAGES."smiley/trup.gif' alt='trup'>",
"#\:arrow:#si" => "<img src='".IMAGES."smiley/arrow.gif' alt='arrow'>",
"#\:redman:#si" => "<img src='".IMAGES."smiley/redman.gif' alt='redman'>",
function displaysmileys($textarea) {
$smiles = "";
$smileys = array (
":)" => "usmiech.gif",
";)" => "oczko.gif",
":|" => "nijak.gif",
":(" => "smutny.gif",
(...)
":love:" => "love.gif",
":loff:" => "loff.gif",
":love:" => "love.gif",
":beer:" => "beer.gif",
Problem #1 polega na tym, ?e u?mieszki troch? za ?atwo si? "w??czaj?". Np ci?g "o lub 'o (apostrof przed liter? o) wy?wietla tego samego smajla co :o (dwukropek przed liter? o), chocia? oczywi?cie nie powinien.
Problem #2 to "konflikty" smajlów. Przyk?adowo napisanie (:love:) skutkuje wstawieniem zwyk?ego u?mieszku :), a nie smajla :love: (o, widz? ?e tutaj na forum dzia?a to tak samo :D;)). Mo?na to jako? poprawi??
Za pomoc z góry dzi?kuj?. :) |