Avatar billede php-nybegynderen Nybegynder
14. maj 2008 - 23:43 Der er 10 kommentarer

PHP - mysql + smileys

Kort og godt vil jeg gerne vide, hvordan jeg kan bruge PHP til at omdanne noget tekst i min database til billeder.

F.eks. skal ":)" bliver til et lille billede af en smiley.

$users['besked'] - her henter jeg en lille besked. Hvis den indeholder ":)" skal ":)" omdannes til et vilkårligt billede. Er der en simpel måde at gøre det på?

- Mikkel
Avatar billede nemezis_aalborg Nybegynder
15. maj 2008 - 00:44 #1
str_replace(":)", "<img src=\"smiley.gif\" />", $users['besked']);

Jeg ville nok lave et dobbeltarray med smileys mapped til billede og så løbe det igennem i et loop.
Avatar billede showsource Seniormester
15. maj 2008 - 01:14 #2
Den mest simple er vel nok

$tegn = array(":O(",":O)");
$billed = array("kedafdet","glad");
$text = "Hej :O), er du :O(?";

echo str_replace($tegn,$billed,$text);
Avatar billede jakobdo Ekspert
15. maj 2008 - 06:44 #3
Og det store spørgsmål er så:

Skal man rette tekst inden det gemmes i databasen og spare nogle databehandlinger?
Eller skal man gøre det hver gang teksten præsenteres?
Avatar billede php-nybegynderen Nybegynder
15. maj 2008 - 08:40 #4
Det skal gøres hver gang det præsenteres. Egentlig er det ligemeget, men det skal i hvert fald vises som ":)", hvis man går ind i databasen.

Jeg tænkte om man kunne gøre det samme med linjeskift?
Avatar billede jakobdo Ekspert
15. maj 2008 - 08:58 #5
Kig på nl2br()
Avatar billede php-nybegynderen Nybegynder
15. maj 2008 - 09:07 #6
Hmm. Har lidt svært ved at forstå, hvordan jeg kan sætte det i sammenhæng med det jeg hiver ud fra databasen, og der skal vel også ske et eller andet mens man skrive i textarea og "skifter" linje.
Avatar billede php-nybegynderen Nybegynder
15. maj 2008 - 11:03 #7
Nu har jeg prøvet at bruge:

str_replace(":)", "<img src=\"smiley.gif\" />", $users['besked']);

Men jeg kan simpelthen ikke få det til at virke.
Avatar billede php-nybegynderen Nybegynder
15. maj 2008 - 11:11 #8
Eller det virker fint, men hvordan kan jeg få f.eks. dem her til at virke samtidig:

str_replace(":D", "<img src=\"smiley/icon_smiled.gif\" />", $users['besked']);
str_replace(":P", "<img src=\"smiley/icon_smilep.gif\" />", $users['besked']);
Avatar billede php-nybegynderen Nybegynder
15. maj 2008 - 11:33 #9
nemezis, smider du et svar? :)
Avatar billede moddi100 Seniormester
17. maj 2008 - 12:30 #10
$users['besked'] = str_replace(":D", "<img src=\"smiley/icon_smiled.gif\" />", $users['besked']);
$users['besked'] = str_replace(":P", "<img src=\"smiley/icon_smilep.gif\" />", $users['besked']);
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