Starší komentáře ke článku: Nahraďte textové smajlíky obrázkovými

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: noire

Datum vložení: 13.12.2002 9:12:34

tyka se smajliku :(

Avatar

Autor komentáře: kizi

Datum vložení: 7.11.2005 16:47:15

myslim ze ten smajlik mal byt :-(

Avatar

Autor komentáře: Daniel Bruckner

Datum vložení: 13.12.2002 9:28:28

Trochu kostrbaté, ale funkční ;o) Lepší by to bylo udělat přes regulativy a každému smilíku dát číslo. Je to pružnější na změny /programátor není omezován a nemusí stále zasahovat do kódu pokud chce vložit nový smajlík/ a efektivnější :o) viz. <a href='http://diskuze.jednorozec.cz' target='_blank'>http://diskuze.jednorozec.cz</a> , ale musím konstatovat, že jako názorná ukázka pro méně zdatné programátory, jak by to mohlo fungovat, to bohatě dostačuje.

Avatar

Autor komentáře: Martin Kučera

Datum vložení: 16.5.2003 15:25:19

To by nebylo lepší. Regulární výrazy jsou nesrovnatelně pomalejší, na to byste mohl myslet.

Avatar

Autor komentáře: jednorozec.cz

Datum vložení: 16.5.2003 15:35:05

To je sice pravda, ale rozhodně s tím nesrovnatelným by se dalo polemizovat v jakých je to řádech setinách, desetinách a nebo celých sekundách? Myslím, že je to celkem zanedbatelné hlavně pokud je omezen počet vkládaných smailíku a nebo pokud se jedná např. o diskuzní fórum. Krom toho z vlastní zkušenosti žádné drastické zpomalení skriptu na svých stránkách nepozoruju ;o)
Zkuste vymyslet pro cca 50 smajlíků různých tvarů a animací textovou alternativu ;o) a myslím, že psát pro každý smajlík extra tag IMG zbytečně prodlužuje kód čili interpreter musí kontolovat daleko víc kódu, takže o zpomalení by se dalo asi hodně dlouho polemizovat :oDD

Avatar

Autor komentáře: jakub

Datum vložení: 16.5.2003 17:48:23

sry, ale tohle je kyd

Avatar

Autor komentáře: jednorozec

Datum vložení: 17.5.2003 21:32:36

Bohužel ne všichni chápou i třeba ironii, že?? :o)))

Avatar

Autor komentáře: jakub

Datum vložení: 17.5.2003 21:36:04

pardon, az ted koukam, ze jsem reagoval na jiny prispevek, muj despekt patril k vyjadreni, ze regularni vyrazy jsou tak dramaticky pomalejsi ...

Avatar

Autor komentáře: humppa

Datum vložení: 13.12.2002 10:02:59

Ach jo, cekal jsem, se ze dovim jak omezit pocet menenych smajliku. Treba aby zmenil jen prvni tri.

Nu nic, snad priste :-)

Avatar

Autor komentáře: jakub

Datum vložení: 13.12.2002 13:47:02

strpos(), substr(), ereg_replace() to cely v cyklu while nebo for
$smileys = (1=>"funny.gif", 2=>"angry.gif");
//kody smajliku budou [1] a [2]
$text = "nazdar [1] nebo [2] salůdfajsůdůlfjkasůdlfů jas[1][2][1][1][1][1]";
$text2="";
$i=0;
while($i<($pocet_ktere_chcivymenit-1)){
//pres ereg a strpos zjistit prvni vyskyt "\[[0-9]\]"
//nacist cast od zacatku az po vyskyt do promenne $text2
$text2 .= $cast;
//z text tu samou cast smazat pomoci substr
//ereg_replace v text2
$i++;
}

pisu to z hlavy, ale myslenkove to chodit bude, jde zkratka o to, ze postupne nasoupu text do text2 a vymenim tolikrat, kolikrat pojede cyklus.

nevidim v tom ale problem

Avatar

Autor komentáře: Simi

Datum vložení: 14.12.2002 11:10:37

Pekny, ale nemate tu nekdo uz primo plne funkcni skript na omezovani smajliku??? Furt mi to nejak nejde:(( A nikde o tom ani zminka... Moc predem dik!

Avatar

Autor komentáře: Jan Vitek

Datum vložení: 13.12.2002 18:10:22

To jsem tu jediny, komu se tyhle graficke zrudnosti nelibi? Prece neni nic lepsiho, nez klasicky textovy smajlik ;-)

Avatar

Autor komentáře: Petr Pechacek

Datum vložení: 14.12.2002 22:21:21

Ne, je nas tu nepocitane... ;o) Taky ty zluty seredy spatne zarovnany na radce nesnasim.

Avatar

Autor komentáře: Martin Trčka

Datum vložení: 15.12.2002 11:20:30

Je pěkné, že autor článku používá XHTML syntaxi, když zapomněl u všech vložených obrázků na povinný atribut alt a používá u nich jakýsi podivný atribut align (ten snad není už u HTML 4.0).

Avatar

Autor komentáře: jakub

Datum vložení: 15.12.2002 14:00:57

jj :)

Avatar

Autor komentáře: Snake

Datum vložení: 17.1.2003 2:17:43

Ak sa robi odosielanie textu na forume cez tabulky tak je v tom dost problem aby ti smajlici behali. Ja som zaciatocnik ale po 30 minutach som si uz nevedel dat rady a ked som to vsetko ako som mal prekopiroval na cisto bez tabuliek tak uz to behalo. Viete my niekto pomoct ako to mam vyriesit?

Avatar

Autor komentáře: Mailo

Datum vložení: 28.1.2003 14:32:40

chci ty smajlíky narvat do četu, jak to mam vecpat do tohohle kódu???docílim maximálně toho, aby mi to vkládalo textový smajlíky do input text, ale, aby je to nahradilo - nic...............prosím pomooooc.......


<?php
if ($action == "send1")
{
$mesice = array ("ledna", "února", "března", "dubna", "května", "června", "července", "srpna", "září", "října", "listopadu", "prosince");

if ($co != "")
{
$f = FOpen ("chat.txt", "a");
FWrite ($f,"\n" . Date ("d. ") . $mesice[Date ("n") - 1] . " * " . Date("H:i:s") . " * ".$jmeno." * ".htmlspecialchars(stripslashes($co))." * ".$color);
FClose ($f);
}
echo "<form action=guest.php method=get name=form>";
echo "<input type=hidden name=jmeno value='".$jmeno."'>\n";
echo "<input type=hidden name=color value='".$color."'>\n";
}
?>

Avatar

Autor komentáře: jakub

Datum vložení: 28.1.2003 17:54:09

A kam to jako libo nacpat, ja tam vidim jen dve pole (jmeno a color (oboji hidden))

btw zkus si vypnout register_globals a koncis ;)

Avatar

Autor komentáře: Mailo

Datum vložení: 30.1.2003 7:46:18

celej soubor, s funkčním vkládáním smajlíků přes javascript do pole "co", vypadá takto:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Chat</title>
</head>
<style type="text/css">
<!--
a {text-decoration:underline; color: red }
a:hover {text-decoration:underline; color: red}
-->
</style>
<script language="JavaScript">
<!--
function foc() {
document.form.co.focus();
}
// -->
</script>

<script type="text/javascript">
function Smile(what)
{
document.forms.form.co.focus();
document.forms.form.co.value=document.forms.form.co.value+what;
}
</script>

<body bgcolor="navy" text="white">

<?php
if ($action == "send1")
{
$mesice = array ("ledna", "února", "března", "dubna", "května", "června", "července", "srpna", "září", "října", "listopadu", "prosince");

if ($co != "")
{
$f = FOpen ("chat.txt", "a");
FWrite ($f,"\n" . Date ("d. ") . $mesice[Date ("n") - 1] . " * " . Date("H:i:s") . " * ".$jmeno." * ".htmlspecialchars(stripslashes($co))." * ".$color);
FClose ($f);
}
echo "<form action=guest.php method=get name=form>";
echo "<input type=hidden name=jmeno value='".$jmeno."'>\n";
echo "<input type=hidden name=color value='".$color."'>\n";
}
?>
<center><font face="Arial CE, Arial" size="2">
<table width=600 border=0>
<tr><td valign="top"><a href="index.php" target="_parent"><font face="Arial" size="3"><B>Domů</B></font></a> </td>
<td><input type="text" name="co" size="60"> <input type="submit" value="Odeslat">
<input type="hidden" name="action" value="send1">
Vyber si barvu
<select name=color>
<option value=red>červená</option>
<option value=white>bílá</option>
<option value=gray>šedá</option>
<option value=green>zelená</option>
<option value=blue>modrá</option>
</select>
</td></tr>
</table>
</font></center>
<script language="JavaScript">
<!--
window.open("guest1.php","dolni");
foc();
// -->
</script>

<img onclick="Smile(':-D ')" src="smileys/1.gif" width="15" height="15" align="middle">
<img onclick="Smile(':oD ')" src="smileys/15.gif" width="15" height="15" align="middle">
<img onclick="Smile(':-)) ')" src="smileys/2.gif" width="15" height="15" align="middle">
<img onclick="Smile(':-) ')" src="smileys/3.gif" width="15" height="15" align="middle">
<img onclick="Smile(';-) ')" src="smileys/4.gif" width="15" height="15" align="middle">
<img onclick="Smile(':-P ')" src="smileys/5.gif" width="15" height="15" align="middle">
<img onclick="Smile(':oP ')" src="smileys/16.gif" width="15" height="15" align="middle">
<img onclick="Smile('%-) ')" src="smileys/17.gif" width="16" height="16" align="middle">
<img onclick="Smile(':-| ')" src="smileys/6.gif" width="15" height="15" align="middle">
<img onclick="Smile(':-/ ')" src="smileys/7.gif" width="15" height="15" align="middle">
<img onclick="Smile(':( ')" src="smileys/8.gif" width="15" height="15" align="middle">
<img onclick="Smile('X[] ')" src="smileys/12.gif" width="15" height="15" align="middle">
<img onclick="Smile(':´-( ')" src="smileys/9.gif" width="15" height="15" align="middle">
<img onclick="Smile(':´o( ')" src="smileys/19.gif" width="21" height="16" align="middle">
<img onclick="Smile(':-O ')" src="smileys/10.gif" width="15" height="15" align="middle">
<img onclick="Smile('B-] ')" src="smileys/11.gif" width="21" height="15" align="middle">
<img onclick="Smile(':_) ')" src="smileys/13.gif" width="50" height="15" align="middle">
<img onclick="Smile(':-! ')" src="smileys/18.gif" width="22" height="19" align="middle">
<br />
</body>
</html>


tak mi poraďte, prosím, jak to tam mam zakompilovat, aby mi to fachalo (převádění textu na obr při zápisu do souboru "chat.txt"). díky

Avatar

Autor komentáře: jakub

Datum vložení: 30.1.2003 19:50:36

Jestli to dobre chapu, tak ty chces aby se do chat.txt ukladali textovi smajlici, ale zobrazovali se jiz jako obrazky, takze proste provedu parse pri vypisovani vystupu a nahradim textove pomoci str/ereg_replace za img ekvivalenty

Avatar

Autor komentáře: Mailo

Datum vložení: 31.1.2003 7:42:06

no jo, ale nevim, kam ji mam do scriptu začlenit a v jaký formě...

Avatar

Autor komentáře: zdenek

Datum vložení: 9.4.2003 0:59:28

nedavno jsem hledal neco podobnyho. toto je prostinke, ale ucel plni

if($_GET['text']):
$text=$_GET['text'];
for($i=1;$i<=8;$i++): // pocet smajliku
if(strpos($text,"*$i*")!==false) // napr. *1* je happy
$text=str_replace"*$i*",'<img src="/sms/img/'.$i.'.'.'bmp"border="0">',$text);
endfor;
endif;

Avatar

Autor komentáře: Ondar

Datum vložení: 24.7.2003 0:06:48

Upravil jsem si to pro svojí knihu návštěv ale nechce mi to ty smajlíky převádět- prostě kliknu na nějakého smajlíka do pole se vloží např.: :-/ a místo, aby se po vložení příspěvku zobrazil obrázek smajlíká zobrazí se nepřevedený text :-/

Nevíte v čem by mohl být problém?

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 30.7.2003 20:19:35

v tom, že máš na řádku 5 kódu, který jsi přiložil a tak ho všichni jasně vidí, chybu, ne?

Avatar

Autor komentáře: Jan Znišťal

Datum vložení: 25.7.2003 14:07:41

Kdyz tak pozoruji vasi diskusi, tak se az divim jake mate problemy se smajliky, nic ve zlem ;-). Pouzit PHP funkci pro zmenu napriklad ":-)" na <img src=smile01.gif .... neni prece nic tezkeho. Nebo jak jsem si vsiml, ze mate problem pomoci javascriptu vlozit do pole zpravy nejaky kod smajlika, taky jednoducha zalezitost. Omezovani smajliku je uz tezsi, ale pouze chvilku nez clovek vymysli nejaky cyklus na omezeni.
Kazdopadne bych chtel rict tem, kteri maji problemy s vymenou smajliku: Kdyz neumite behem par minut prijit na to jak zmeni textovy smajlik na obrazek, tak proc se poustite do chatu(diskuse, knihy navstev...), ktery je podstatne slozitejsi naprogramovat jestli ma byt aspon na nejake urovni?
Nechci zde nekoho kritizovat apod., ale opravdu me to tady udivilo. Ja sam nejsem jeste zadny expert, ale zmeneni textoveho retezce na jiny, to snad se uci uz v starobylem Pascalu v Dosu nekde "materske skolce".

Pokud bude nekdo chtit poradit s timto tematem, klidne napiste na mail.
Enjoy.

Avatar

Autor komentáře: Jan Janoch

Datum vložení: 15.8.2003 22:14:36

Rád bych ti napsal na e-mail, ale nikde sem ho nenašel. Co se týče internetových stránek, jsem úplný začátečník. Proto víám tvou nabídku pomoci.
Pomocí těchto stránek jsem si vytvořil knihu návštěv (<a href='http://interval.cz/clanek.asp?id=551)' target='_blank'>http://interval.cz/clanek.asp?id=551)</a>. Chtěl jsem si k ní přidat smajlíky, ale nezdařilo se mi to. Podařilo se mi, aby se vkládali do pole "Text zprávy" v texové podobě, ale už nevím, jak je přeměnit v obrázek v zobrazených příspěvcích.

Normálně se zobrazují tam, kam vložím (na volné stránce -ne v knize návštěv):

<?php
include ('replacesmileys.php');
$_POST['body']=replace_smile($_POST['body']);
echo $_POST['body'];
?>

Problém je, že nevím, kam to vložit. Teda spíš co kam vložit, protože se mi nezdá, že by k tomu stačilo tohle. Předem ti ěkuju za rady.

Avatar

Autor komentáře: WarLord

Datum vložení: 30.8.2003 1:31:15

Ja som ani necital clanok, som iba zobral zdrojaky a upravil ix.
Vsetko mi funguje.

to Jano:
<?php
include ('replacesmileys.php');
$_POST['body']=replace_smile($_POST['body']);
echo $_POST['body'];
?>
......... toto by si mal vlozit tam kde pridavas prispevok alebo spravu do knihy navstev, ak to robis cez DB tak musis to musis dat pred tym ako to vlozis do DB, samozrejme musis davat pozor ake premenne tam pouzivas
caf.

Avatar

Autor komentáře: Freya

Datum vložení: 7.11.2003 20:43:50

to, že tam má být alt, není jenom věc správnosti, je to i životně důležité pro použitelnost. Jak jinak má uživatel vědět, co má napsat za dvojtečku a jestli s nosem nebo bez nosu, když to není napsané v altu? Mohlo by to navíc umět zpracovat jak ":-)", tak ":)". Chudák uživatel, když si musí kvůli každému ksichtíku otvírat zdrojový kód...

Avatar

Autor komentáře: Royce

Datum vložení: 10.4.2004 16:24:29

A pan chytry promluvil.... kdyz uz tak <B>schopny</B> programator to udela tak aby to prevadelo obe moznosti!!! nebo to uz snad nezvladas???

Avatar

Autor komentáře: Petra

Datum vložení: 10.6.2004 16:04:03

Jak omezit pocet smajliku, ktere je mozne vlozit do diskuse? - aby jich tam nekdo nenavkladal 500 ;-)

Avatar

Autor komentáře: Petr

Datum vložení: 3.3.2006 11:30:20

<?php //****************** Funkce vypisované v soukromé části ***************** function vypisDatum(){ //Určení správného dne $dny = array(0 => "neděle", "pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota", "neděle"); $vypis_nazvu_dne = $dny[date("w")]; $vypis_cisla_dne = date("j"); //Určení měsíce $mesic = array(1 => "ledna", "února", "března", "dubna", "května", "června", "července", "srpna", "září", "října", "listopadu","prosince"); $vypis_nazvu_mesice = $mesic[date("n")]; //Určení roku $rok = date("Y"); //Určení času $cas = date("H:i"); echo "Dnes je <strong>$vypis_nazvu_dne, $vypis_cisla_dne. $vypis_nazvu_mesice $rok</strong>, aktuální čas je <strong>$cas</strong>.\n"; } function hlavickaWebu($author, $styly_pro_obrazovku, $styly_pro_tisk, $titulek){ echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \n \"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd\">\n <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"cs\" lang=\"cs\">\n <head>\n <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\n <meta name=\"author\" content=\"Design a kod: $author\" />\n <link rel=\"stylesheet\" href=\"$styly_pro_obrazovku\" type=\"text/css\" media=\"screen, projection, all\" />\n <link rel=\"stylesheet\" href=\"$styly_pro_tisk\" type=\"text/css\" media=\"print\" />\n <meta name=\"robots\" content=\"noindex,nofollow\" /> <meta name=\"googlebot\" content=\"nosnippet,noarchive\" /> <title>\n $titulek\n </title>\n </head>\n <body>\n<div id='hlavni'>\n"; } function konecWebu(){ echo '</div></body> </html>'; } function vypsatFormular(){ global $zobrazit_pocet; ?> <div id="formular"> <form action="index.php" method="post"> <fieldset> <legend>Vložte příspěvek:</legend> <p><label for="jmeno">Jméno: <span class="neni_nutne">(nutné)</span></label> <input type="text" id="jmeno" name="jmeno" tabindex="1" size="25" value="<?php if ($zobrazit_pocet) echo $_POST['jmeno']; ?>" /></p> <p><label for="email">Email: </label> <input type="text" id="email" name="email" tabindex="2" size="25" value="<?php if ($zobrazit_pocet) echo $_POST['email']; ?>" /></p> <p><label for="web">Váš Web: </label> <input type="text" id="web" name="web" tabindex="2" size="25" value="<?php if ($zobrazit_pocet) echo $_POST['web']; ?>" /></p> <p><label for="song">Pisnička: </label> <input type="text" id="song" name="song" tabindex="2" size="25" value="<?php if ($zobrazit_pocet) echo $_POST['song']; ?>" /></p> <p><label for="vsuvka">Komentáře k této knize: </label> <input type="text" id="vsuvka" name="vsuvka" tabindex="2" size="25" value="<?php if ($zobrazit_pocet) echo $_POST['vsuvka']; ?>" /></p> <p><label for="popis">Text: <span class="neni_nutne">(nutné)</span></label> <textarea name="popis" cols="40" rows="7" tabindex="4" id="popis"><?php if ($zobrazit_pocet) echo trim($_POST['popis']); ?></textarea></p> <p><input type="submit" id="submit" name="submit" value="Vložit" title="Poklepáním vložíte příspěvek" tabindex="5" /> </p> </fieldset> </form> </div> <?php }//Konec funkce vypsat formular ?> Prosím potřebuju sem dát nějaký script aby jsem klikl na smajlíka a on se mi vypsal do toho popis. Prosím na mail.Děkuji

Avatar

Autor komentáře: Pavel Lisa

Datum vložení: 23.4.2006 21:26:59

Díky, díky, díky! Konečně se mi povedlo dát dohromady skript na smajlíky v guestbooku!

Zpět na článek | Úvodní stránka Interval.cz