Avatar billede hav0k Nybegynder
08. november 2003 - 12:09 Der er 6 kommentarer og
1 løsning

Tagwall - uden html - men med linjeskift, hvordan?

Jeg har en tagwall, som ser ud på flg. måde:

$query_tagwall = mysql_query("SELECT id, date, header, author, email, text FROM tagwall ORDER BY id DESC LIMIT $offset,$pr_side") or die(mysql_error());;
while($data = mysql_fetch_row($query_tagwall)){
    echo "<table width=\"98%\" class=\"standard\"><tr><td><b>$data[2]" . "</b></td><td align=\"right\">$data[1]" . "</td></tr>
    <tr><td colspan=\"2\">";       
    $text1 = nl2br($data[5]);
    $text1 = htmlentities($text1);
    echo $text1;     
    echo "<br><div align=\"right\"><i>Af <a href=\"mailto:$data[4]" . "\">$data[3]" . "</a></i></div></td></tr></table><br><br>";
}

I området med $text1 gør at dem som skriver ikke kan skrive html koder som bliver genereret, men at de bare bliver som rene html koder. Men det gør også at nl2br får alle mellemrummene til at stå som <br> koder.. Som jo også bliver ignoreret.. Hvilket ikke er meningen.. hvordan skal jeg nu gøre det så KUN <br> (og fx <i> og <b> (ik påkrævet) virker?

Venter.. //Hav0k
Avatar billede hav0k Nybegynder
08. november 2003 - 12:10 #1
I kan selv se på cs.gagag.dk under tagwall hvis det er nødvendigt..
Avatar billede TRoXa Novice
08. november 2003 - 12:15 #2
$query_tagwall = mysql_query("SELECT id, date, header, author, email, text FROM tagwall ORDER BY id DESC LIMIT $offset,$pr_side") or die(mysql_error());;
while($data = mysql_fetch_row($query_tagwall)){
    echo "<table width=\"98%\" class=\"standard\"><tr><td><b>$data[2]" . "</b></td><td align=\"right\">$data[1]" . "</td></tr>
    <tr><td colspan=\"2\">";       
    $text1 = nl2br($data[5]);
    $text1 = htmlentities($text1);
    $text1 = strip_tags($text1, '<br><i><u><b>'); // HER TILFØJER DU TAGS DU VIL ACCEPTERE
    echo $text1;     
    echo "<br><div align=\"right\"><i>Af <a href=\"mailto:$data[4]" . "\">$data[3]" . "</a></i></div></td></tr></table><br><br>";
}
Avatar billede hav0k Nybegynder
08. november 2003 - 12:26 #3
det virker ik rigtig.... er du sikker på at det: $text1 = strip_tags($text1, '<br><i><u><b>');  er rigtigt?
Avatar billede detox Nybegynder
08. november 2003 - 12:32 #4
Evt. sådan her:

    $text1 = htmlentities($data[5]);
    $text1 = nl2br($text1);
    $trans = array('&lt;i&gt;' => '<i>', '&lt;b&gt;' => '<b>', '&lt;/i&gt;' => '</i>', '&lt;/b&gt;' => '</b>');
    $text1 = strtr($text1, $trans);
    echo $text1;
Avatar billede TRoXa Novice
08. november 2003 - 12:35 #5
du skal nok fjerne nl2br sætningen :)
Avatar billede hav0k Nybegynder
08. november 2003 - 12:38 #6
ahhh... du er min gud :P

-det virkede helt efter hensigten :)
Avatar billede TRoXa Novice
08. november 2003 - 13:08 #7
det var godt :)
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