Autor Zpráva
shakal
Profil *
Ahoj, vůbec nevím, jakým způsobem se dá udělat něco takovýho. Čili ani nevím, podle čeho to hledat na "gůglu"
O co jde?
Mám diskusní fórum a potřebuju tam vložit smajlíky. Stačti nějaký script, který vložím do stránky aby místo ":) + :-)" vložil smajlíka 1.gif...

Uživatel by do textu napsal:
Ahoj, jak se máš :-)
A výsledek by vypadal takto:
Ahoj, jak se máš 1.gif

//EDIT: nepotřebuju to vkládat do textery. Stačí, když místo :-) se zobrazí smajlík.
//Například v PHP udělat něco jako ":-)" = "img src="images/1.gif"

Nevím, jestli je to v PHP, kdyžtak prosím o přesun do příslušné sekce. Děkuji :)
denCo
Profil
mas forum na phpBB? ak hej tak tuto
http://www.phpbbhacks.com/smilies.php

ak nie tak
http://maciweb.net/blog/web/clanek.php?clanek=58

(20 sekund na googli)
Johnik
Profil
v php :
$text = str_replace(":L","l.png",$text);
shakal
Profil *
Když udělám tohle:


<?php
$text = str_replace(":-)","1.gif",$text);

?>
a vložím do stránky " :-) "




tak se ten (textovej) smajlík nepřepíše za grafickej :(
yFang
Profil
Spíš:
$text = str_replace(":L",'<img src="l.png" width="xy" height="xy" alt=":L">',$text);
shakal
Profil *
<?php
$text = str_replace(":)",'<img src="1.gif" width="5px" height="5px" alt=":-)">',$text);
?>
:)




Taky nejde.. :(
yFang
Profil
shakal
Co znamená nejde?
shakal
Profil *
Že mi tam zůstane (textovej) smajlík " :) ", kterej se nepřepíše za grafického (1.gif)
GeneralDv
Profil
shakal: Otestuj:

<?php
$text=":D text :) text :-) text";
echo($text."<p>");
$text = str_replace(":)",'<img src="smile.gif" alt="">',$text);
$text = str_replace(":D",'<img src="smile1.gif" alt="">',$text);
$text = str_replace(":(",'<img src="smile2.gif" alt="">',$text);
echo($text);
?>


Protože sem tohle taky potřeboval vědět a mně to funguje.
shakal
Profil *
Mám tento výpis (z databáze) na Guestbook

<?php
while(is_array($data = mysql_fetch_array($id_vysledku)))
{
  $write_time = $data['write_time'];
  $name = $data['name'];
  $mail = $data['mail'];
  $message = $data['message'];
  echo '<tr class="nk-1">';
  echo '<td><b></b>';
  if (strlen($mail) > 0)
    echo '<a href="mailto:',htmlspecialchars($mail),'">',htmlspecialchars($name),'</a>';
  else
  echo "-- <b><font color=violet>".($name). "</font></b>";
  echo ',',"" .$write_time. "";
  echo '</td>';
  echo '</tr>';
  echo '<tr class="nk-2">';
  echo '<td>';
  echo htmlspecialchars($message);
  echo '<br></br></td>';
  echo '</tr>';
}
?>


Jak do toho mám zapsat, když někdo odešle smajlíka :-) aby místo textovýho vyběhl grafickej?

Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
GeneralDv
Profil
<?php
while(is_array($data = mysql_fetch_array($id_vysledku)))
{
    $write_time = $data['write_time'];
    $name = $data['name'];
    $mail = $data['mail'];
    $message = $data['message'];
    echo '<tr class="nk-1">';
    echo '<td><b></b>';
	
	//teď je převedeme
	$message=str_replace(":D",'<img src="a.gif" alt="">',$message);
	$message=str_replace(":)",'<img src="b.gif" alt="">',$message);
	
    if (strlen($mail) > 0){
        echo '<a href="mailto:',htmlspecialchars($mail),'">',htmlspecialchars($name),'</a>';
    }else{
        echo "-- <b><font color=violet>".($name). "</font></b>";
        echo ',',"" .$write_time. "";
        echo '</td>';
        echo '</tr>';
        echo '<tr class="nk-2">';
        echo '<td>';
        echo htmlspecialchars($message);
        echo '<br></br></td>';
        echo '</tr>';
	}
}
?>
?
shakal
Profil *
Super, ale ted se mi tam zobrazuje
<img src="b.gif" alt="">'
Místo toho obrázku b.gif
yFang
Profil
shakal
Super, ale ted se mi tam zobrazuje
<img src="b.gif" alt="">'
Místo toho obrázku b.gif


Za to může 24. řádek:
echo htmlspecialchars($message);

který nahradí < > za entity.
shakal
Profil *
a co s tím mám tedy udělat?
GeneralDv
Profil
Moje chyba, přehlédnul jsem:
while(is_array($data = mysql_fetch_array($id_vysledku)))
{
    $write_time = $data['write_time'];
    $name = $data['name'];
    $mail = $data['mail'];
    $message = htmlspecialchars($data['message']);
    echo '<tr class="nk-1">';
    echo '<td><b></b>';
    
    //teď je převedeme
    $message=str_replace(":D",'<img src="a.gif" alt="">',$message);
    $message=str_replace(":)",'<img src="b.gif" alt="">',$message);
    
    if (strlen($mail) > 0){
        echo '<a href="mailto:',htmlspecialchars($mail),'">',htmlspecialchars($name),'</a>';
    }else{
        echo "-- <b><font color=violet>".($name). "</font></b>";
        echo ',',"" .$write_time. "";
        echo '</td>';
        echo '</tr>';
        echo '<tr class="nk-2">';
        echo '<td>';
        echo $message;
        echo '<br></br></td>';
        echo '</tr>';
    }
}
Tohle funguje ?
shakal
Profil *
Ted se mi tam nezobrazí ani smajlík ani HTML text. Prostě bez smajlíku.
shakal
Profil *
Omlouvám se, vše funguje.. Děkuji mockrát!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: