Avatar billede tortur Nybegynder
04. juli 2004 - 21:01 Der er 24 kommentarer og
1 løsning

ereg_replace hjælp, ang. smileys.

Hey eksperter
Dette er et udpluk fra en tagwall jeg har, det er et så kaldt "Smiley script".
Jeg bruger ereg_replace til at genplacere :) med <img src=\"happy.gif\"> osv.
Mit problem består i at når man i tagwallen (under skriv.php) f.eks. skriver: "Hej ;)" så viser den den rigtige smiley men skriver den første smiley i scriptet oven i, så beskeden kommer til at se sådan ud: "Hej :);)" det er jo ret træls.
Mit script udpluk:
function smilie($tag){
$tag = ereg_Replace("[:)]","<img src=\"almsmil.gif\">",$tag);
$tag = ereg_Replace("[:D]","<img src=\"bredtsmil.gif\">",$tag);
$tag = ereg_Replace("[:S]","<img src=\"forvirret.gif\">",$tag);
$tag = ereg_Replace("[;|]","<img src=\"sarkastiskmsil.gif\">",$tag);
$tag = ereg_Replace("[:(]","<img src=\"sursmil.gif\">",$tag);
$tag = ereg_Replace("[:P]","<img src=\"tungesmil.gif\">",$tag);
$tag = ereg_Replace("[:o(]","<img src=\"vredsmil.gif\">",$tag);
$tag = ereg_Replace("[;)]","<img src=\"blinksmil.gif\">",$tag);
$tag = ereg_Replace("[:O]","<img src=\"råbesmil.gif\">",$tag);
return $tag;
}

$tag er self. det man har skrevet i formen før.
På forhånd tak.
/tortur
Avatar billede rippie Nybegynder
04. juli 2004 - 21:09 #1
jeg forstår ikke helt.... du siger at den viser ikke 2 smileys når du skriver :):) f.eks ?
Avatar billede expnet Seniormester
04. juli 2004 - 21:10 #2
jeg kan ikke lige se at der skulle være en fejl:

men vil nok lade være med at bruge å = råbesmil.gif

function smilie($tag){
$tag = ereg_Replace("[:)]","<img src='almsmil.gif'>",$tag);
$tag = ereg_Replace("[:D]","<img src='bredtsmil.gif'>",$tag);
$tag = ereg_Replace("[:S]","<img src='forvirret.gif'>",$tag);
$tag = ereg_Replace("[;|]","<img src='sarkastiskmsil.gif'>",$tag);
$tag = ereg_Replace("[:(]","<img src='sursmil.gif'>",$tag);
$tag = ereg_Replace("[:P]","<img src='tungesmil.gif'>",$tag);
$tag = ereg_Replace("[:o(]","<img src='vredsmil.gif'>",$tag);
$tag = ereg_Replace("[;)]","<img src='blinksmil.gif'>",$tag);
$tag = ereg_Replace("[:O]","<img src='råbesmil.gif'>",$tag);
return $tag;
}
Avatar billede tortur Nybegynder
04. juli 2004 - 21:12 #3
Avatar billede tortur Nybegynder
04. juli 2004 - 21:12 #4
Lig et tag ind..
Avatar billede tortur Nybegynder
04. juli 2004 - 21:14 #5
Forstår i det så nu?
Avatar billede rippie Nybegynder
04. juli 2004 - 21:14 #6
hmmm okay. ved at lave flg. smiley :) giver den en 2 *G*
Avatar billede tortur Nybegynder
04. juli 2004 - 21:15 #7
Ja men hvis du skrive :D kommer den også og siger :):D
Avatar billede tortur Nybegynder
04. juli 2004 - 21:15 #8
Rimlig dumt :S
Avatar billede rippie Nybegynder
04. juli 2004 - 21:15 #9
Jeg har denne linje her fra en tagwall jeg engang lavede.... jeg har bare ikke den inde i en function...

$besked = str_replace(':)','<img src="main/smileys/smiley1.gif">', $besked);
Avatar billede rippie Nybegynder
04. juli 2004 - 21:16 #10
som du kan se skriver du :) i min linje for at få smiley frem... og du kan lave så mange du vil af dem... :D
Avatar billede tortur Nybegynder
04. juli 2004 - 21:17 #11
Hvis det kan hjælpe noget så ser min query sådan ud:
mysql_query("INSERT INTO tag (navn, text, ip, time) VALUES ('$navn', '".smilie($tag)."', '$IPS', now())");
Avatar billede tortur Nybegynder
04. juli 2004 - 21:18 #12
Er der fejl i den?
Avatar billede expnet Seniormester
04. juli 2004 - 21:18 #13
function smilie($tag){
$tag = ereg_Replace("[:)]","<img src='almsmil.gif'>",$tag);
$tag = ereg_Replace("[:D]","<img src='bredtsmil.gif'>",$tag);
$tag = ereg_Replace("[:S]","<img src='forvirret.gif'>",$tag);
$tag = ereg_Replace("[;|]","<img src='sarkastiskmsil.gif'>",$tag);
$tag = ereg_Replace("[:(]","<img src='sursmil.gif'>",$tag);
$tag = ereg_Replace("[:P]","<img src='tungesmil.gif'>",$tag);
$tag = ereg_Replace("[:o(]","<img src='vredsmil.gif'>",$tag);
$tag = ereg_Replace("[;)]","<img src='blinksmil.gif'>",$tag);
$tag = ereg_Replace("[:O]","<img src='råbesmil.gif'>",$tag);
}
Avatar billede rippie Nybegynder
04. juli 2004 - 21:19 #14
nej den ser umiddelbart rigtig ud til query
Avatar billede rippie Nybegynder
04. juli 2004 - 21:20 #15
men hvorfor ikke bare bruge min linje ?

$besked = str_replace(':)','<img src="main/smileys/smiley1.gif">', $besked);

Du kan jo smide lige så mange du vil ned under hinanden og så ikke mere.... den retter selv alle de tegn om til billeder :D
Avatar billede tortur Nybegynder
04. juli 2004 - 21:23 #16
Fedt skal den ikke sættes i en function?
Avatar billede expnet Seniormester
04. juli 2004 - 21:25 #17
nej du kan bare gøre så den læser alle din beskeder igen ereg inde de bliver vist
Avatar billede rippie Nybegynder
04. juli 2004 - 21:27 #18
nej nej nej med min linje skal du sætte den ind inden du skriver data ind i mysql :) det er sådan jeg har gjort *s*
Avatar billede tortur Nybegynder
04. juli 2004 - 21:32 #19
Parse error: parse error in /customers/dcjchatten.dk/dcjchatten.dk/httpd.www/tag/tag.php on line 54
Avatar billede rippie Nybegynder
04. juli 2004 - 21:37 #20
giv mig lige det script hvor du skriver dine data ind i mysql tabellen... så skal jeg lige flette det sammen for dig...
Avatar billede tortur Nybegynder
04. juli 2004 - 21:37 #21
Jeg kan ikke få det til at virke?
Avatar billede tortur Nybegynder
04. juli 2004 - 21:38 #22
mysql_query("INSERT INTO tag (navn, text, ip, time) VALUES ('$navn', '".smilie($tag)."', '$IPS', now())");
Avatar billede rippie Nybegynder
04. juli 2004 - 21:42 #23
øhh jamen det er jo kun en linje.... men lad det nu se sådan her ud f.eks...

$navn = "Hejsa med dig";
$tag = "Her har vi en lille smiley :)";
$ips = "et eller andet underligt";

$tag = str_replace(':)','<img src="smiley1.gif">', $tag);

mysql_query("INSERT INTO tag (navn, text, ip, time) VALUES ('$navn', '"$tag)."', '$IPS', now())");


forstår du nu ? inden du skriver det ind i din mysql smilder du lige den linje ind der retter :) til <img src="smiley1.gif">
Avatar billede tortur Nybegynder
04. juli 2004 - 21:53 #24
Yes! Det virker! Tusinde tak, her er dine points!
Avatar billede rippie Nybegynder
04. juli 2004 - 21:54 #25
Det var så lidt :D du skulle vel så ikke lige kunne hjælpe mig.. hehe

tjek : http://www.eksperten.dk/spm/516863
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester