Autor | Zpráva | ||
---|---|---|---|
Boban117 Profil |
#1 · Zasláno: 11. 8. 2008, 12:10:08
Zdravím, mám problém se zobrazováním náhrady textu za smajlíky. zkoušel jsem to podle hodně návodů a pořád ne a ne se mi to zadařit. budu rád pokud mi pomůžete upravit zdroják...moc díky
-tady je kód na nahrazení smajlíků (s tímhle mám problém) <? $replace = array(); //nahrazování smailíků $replace['*1*']='<img src="../images/smile/1.gif">'; function replace_smile ($body) { global $replace; // zpřístupnit pole ve funkci reset($replace); // nastavit na začátek while(list($key,$val) = each($replace)) $body = str_replace($key,$val,$prispevky_radky); // procházet pole a nahrazovat zadané výskyty smajlíků return $prispevky_radky; } ?> -při kliknutí na smajlíka se správně zobrazí *1* v textarea <!--směrování odkazů smajlíků --> <script type="text/javascript"> function Smile(what) { document.forms.comment.vzkaz.focus(); document.forms.comment.vzkaz.value= document.forms.comment.vzkaz.value+what; } </script> <form action="" method="post" name="comment"> <textarea name="vzkaz" id="vzkaz" class="input" cols="40" rows="6"><? if($odeslano == "ne") {echo($_POST['vzkaz']);} ?></textarea> <img onclick="Smile('*1*')" src="../images/smile/1.gif"> </form> -v tomhle odstavci se zobrazuje vzkaz, včetně smajlíků (ovšem pouze jako *1*, nikoliv jako smajlík) <div class="zprava"> <? echo $prispevky_radky[vzkaz] ?> </div> pokud mi to pomůžete opravit budu velmi rád děkuji |
||
peta Profil |
#2 · Zasláno: 11. 8. 2008, 19:59:12
Boban117
- odkaz na stranku? nic - php kod v js foru? bezcenne Jak ti pomoci, kdyz nic nedas? Jak mam asi podle tebe prelozit PHP kod? to si musim registrovat domenu? Nahrat server? Tolik kvuli tobe? A to jeste vim, co s tim. Ale spousta lidi, co by ti mohlo poradit to nevi. Protoze jsi teda nic podstatne nedal, zeptam se jinak. Co ti pise JS konzola? bavime se stale o JS, jediny JS tam je: function Smile(what) { document.forms.comment.vzkaz.focus(); document.forms.comment.vzkaz.value= document.forms.comment.vzkaz.value+what; } Tohle by melo udelat to, ze do textarea s name=vzkaz prida na konec smajlik. Pokud to tohle dela, pak je JS kod spravny a funkcni. Tim je problem tykajici se JS vyresen. Neni zac dekovat, opravdu. k tomu ostatnimu: $replace['*1*']='<img src="../images/smile/1.gif">'; cz.php.net/error_reporting jakou chybu hlasi PHP? predpokladam, ze neco ve smyslu jako, tento index nelze pro pole $replace vytvorit, protoze povolene nazvy musi zacinat pismenem a mohou obsahovat znaky az09_ . O hvezdicce tam rec neni cz.php.net/str_replace mas tam more prikladu |
||
Boban117 Profil |
#3 · Zasláno: 11. 8. 2008, 20:12:03
http://bodaw.cz/kniha/navstevni-kniha.php - tady je ten odkaz
chybu to žádnou nehlásí, po kliknutí na smajla se kód toho smajla zapíše do textarea, ale v diskuzi se potom nepřevede zpátky do grafické podoby |
||
peta Profil |
#4 · Zasláno: 12. 8. 2008, 08:21:37
Na prevod tam zadny JS nemas, proto se to neprevede?
|
||
Harwen Profil |
#5 · Zasláno: 12. 8. 2008, 09:29:11 · Upravil/a: Harwen
Osobně se mi osvědčilo vyměňovat znaky smajlíků za odkaz k nim už při ukládání příspěvku do db pomocí str_replace().
Nevýhoda je, že když změním cestu ke smajlíkům tak se ti ve starých příspěvcích nebudou zobrazovat :-) |
||
Časová prodleva: 12 měsíců
|
|||
Garen Profil * |
#6 · Zasláno: 7. 8. 2009, 13:44:16
no sice je tohle tema stare ale ja mam stejny problem...
zdrojak: <?php function prevedsmajliky($text) { $s1='smile/1.gif'; $s2='smile/2.gif'; $s3='smile/3.gif'; $s4='smile/4.gif'; $s5='smile/5.gif'; $s6='smile/6.gif'; $s7='smile/7.gif'; $s8='smile/8.gif'; $cry='smile/cry.gif'; $arr='smile/arr.gif'; $oo='smile/oo.gif'; $idea='smile/idea.gif'; $vykricnik='smile/vykricnik.gif'; $otaznik='smile/otaznik.gif'; $lol='smile/lol.gif'; $evil='smile/evil.gif'; $red='smile/redface.gif'; $rolleyes='smile/rolleyes.gif'; $twisted='smile/twisted.gif'; $xd='smile/xd.gif'; $smileys = Array( ":-)" => $s1, ":)" => $s1, ":-D" => $s2, ":D" => $s2, ";-)" => $s3, "';)" => $s3, ";-D" => $s3, "';D" => $s3, "8-)" => $s4, "8)" => $s4, "*cool*" => $s4, ":-(" => $s5, ":(" => $s5, ":-/" => $s6, ":/" => $s6, ":-o" => $s7, ":o" => $s7, ":-O" => $s7, ":O" => $s7, ":-|" => $s8, ":|" => $s8, "x-D" => $xd, "xD" => $xd, "O_o" => $oo, "Oo" => $oo, ":'-(" => $cry, ":'(" => $cry, "*cry*" => $cry, "->" => $arr, "*idea*" => $idea, "*!*" => $vykricnik, "*?*" => $otaznik, "*lol*" => $lol, "]:-(" => $evil, "*evil*" => $evil, "*red*" => $red, "*rolleyes*" => $rolleyes, "]:->" => $twisted, "*twisted*" => $twisted ); $smileysrc = "./"; while (list($smtext, $smimg) = each ($smileys)) { $img = '<img class="smile" src="'.$smileysrc.$smimg.'" alt="'.$smtext.'" />'; $text = Str_Replace($smtext, $img, $text); } return $text; } $data1=mysql_query("SELECT jmeno,datum,web,email,text FROM diskuse ORDER BY datum ASC"); while ($data=mysql_fetch_array($data1)) { echo(" <div class='celek'> <table class='ls'> <tr> <th></th><th>".$data['jmeno']."</td> </tr><tr> <td>Přidáno:</td><td>".$data['datum']."</td> </tr> "); if(!empty($data['web'])) { echo (" <tr> <td>Web:</td><td><a href='".$data['web']."' target='_blank'>".$data['web']."</a></td> </tr> "); } if(!empty($data['email'])) { echo (" <tr> <td>E-mail:</td><td>".$data['email']."</td> </tr> "); } prevedsmajliky($data['text']); echo (" </table> <div class='ps'> <div class='b'>Zpráva:</div> <div class='zprava'>".$text."</div> </div> </div> "); } ?> no zadnej error no nehlasi akorat je promnena $text prázdná !!! fakt nevim cim to je (jinak tohle opravdu neni JS xD) |
||
Garen Profil * |
#7 · Zasláno: 7. 8. 2009, 13:47:14
|
||
Garen Profil * |
#8 · Zasláno: 7. 8. 2009, 13:49:04
|
||
Časová prodleva: 15 let
|
0