Avatar billede Gudiik Nybegynder
16. oktober 2009 - 00:01 Der er 7 kommentarer

Smileys vises ikke.

Hej allesammen. Vil gerne have i min tagwall at der vises smileys.

Men kan ikke få det til at virke. Det ser sådan her ud:

$besked = $row2[Besked];
$besked = nl2br($besked);
$besked = ucfirst($besked);
    $besked = str_replace(':)','<img src="/ansigter/1.png" alt=":)" />',$besked);
    $besked = str_replace(':D','<img src="/ansigter/2.png" alt=":D" />',$besked);
    $besked = str_replace('B)','<img src="/ansigter/3.png" alt="B)" />',$besked);
    $besked = str_replace(':I','<img src="/ansigter/4.png" alt=":I" />',$besked);
    $besked = str_replace('8D','<img src="/ansigter/5.png" alt="8D" />',$besked);
    $besked = str_replace(':(','<img src="/ansigter/6.png" alt=":(" />',$besked);
    $besked = str_replace('8)','<img src="/ansigter/7.png" alt="8)" />',$besked);
    $besked = str_replace('I)','<img src="/ansigter/8.png" alt="I)" />',$besked);
    $besked = str_replace(':P','<img src="/ansigter/9.png" alt=":P" />',$besked);
echo "<b> "."$row2[Af]"."</b>:";
echo $besked;

Jeg kan ikke selv se fejlen. Så håber i kan.
Avatar billede virtual1ty Nybegynder
16. oktober 2009 - 00:20 #1
Hvilket output får du? Prøv eventuelt at rette følgende:

$besked = $row2[Besked];

til:

$besked = $row2['Besked'];

og se om det gør nogen forskel.
Avatar billede Slettet bruger
16. oktober 2009 - 00:22 #2
$besked = str_replace('8)','<img src="/ansigter/7.png" alt="8)" />',$besked);

Skal være $besked = str_replace("8)","<img src='/ansigter/7.png' alt='8)' />",$besked);

?
Avatar billede nissen2630 Novice
16. oktober 2009 - 00:25 #3
Også sagt på en anden måde:
Når du bruger ' fortolkes strengen ikke
og når du bruger " gør den
Avatar billede Slettet bruger
16. oktober 2009 - 00:25 #4
Og echo "<b> "."$row2[Af]"."</b>:";

Skal være echo "<b> " . $row2[Af] . "</b>:";

?
Avatar billede nissen2630 Novice
16. oktober 2009 - 00:26 #5
Skal du bruge " inde i en streng der skal fortolkes skal der skrives \"
Avatar billede Slettet bruger
16. oktober 2009 - 00:33 #6
<?php
// This won't work because of the quotes around specialH5!
echo "<h5 class="specialH5">I love using PHP!</h5>";

// OK because we escaped the quotes!
echo "<h5 class=\"specialH5\">I love using PHP!</h5>"; 

// OK because we used an apostrophe '
echo "<h5 class='specialH5'>I love using PHP!</h5>"; 
?>

Gælder det ikke også inde i en str_replace ?
Avatar billede j4k0b Nybegynder
16. oktober 2009 - 08:09 #7
Gudiik: du bør bruge preg_replace i stedet, da det går meget hurtigere at søge en streng igennem med regulære udtryk. Denne metode vil være meget hurtigere:

$string = 'Velkommen :) :D B)';
$patterns = array('/:)/', '/:D/', '/B)/', '/:I/');
$replacements = array(
    '<img src="/ansigter/1.png" alt=":)" />',
    '<img src="/ansigter/2.png" alt=":D" />',
    '<img src="/ansigter/3.png" alt=":)" />',
    '<img src="/ansigter/4.png" alt=":I" />'
);

$newstring = preg_replace($patterns, $replacements, $string);
print $newstring;
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