| 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: 17 let
|
|||
0