Ik heb smileys beschikbaar gesteld in mijn gastenboek dmv str_replace alleen werkt dat niet goed i.c.m. htmlentities omdat hij nu de images code <img src=""> in html laat zien. Hieronder mijn code, als ik htmlentities weg haal werkt het wel alleen kan iemand dan helaas een foto in mijn gastenboek plaatsen met html codes en dat wil ik niet.


<?php
//Vervang tekens door smileys
$tekens = array(
'(B)',
'(b)',
':-)',
':)',
':$',
'(D)',
'(d)',
'(H)',
'(h)',
'(danny)',
'(y)',
'(Y)',
'(a)',
'(A)',
'(env)',
'(l)',
'(L)',
'(liefde)',
'(ilse)',
';-)',
';)',
'(k)',
'(K)',
'(r)',
'(R)',
':p',
':P',
':-p',
':-P',
'(verliefd)',
'xD',
);
$smilies = array(
'<img src="images/emoticons/bier.png">',
'<img src="images/emoticons/bier.png">',
'<img src="images/emoticons/blij.png">',
'<img src="images/emoticons/blij.png">',
'<img src="images/emoticons/bloos.png">',
'<img src="images/emoticons/cocktail.png">',
'<img src="images/emoticons/cocktail.png">',
'<img src="images/emoticons/cool.png">',
'<img src="images/emoticons/cool.png">',
'<img src="images/emoticons/danny.png">',
'<img src="images/emoticons/duim.png">',
'<img src="images/emoticons/duim.png">',
'<img src="images/emoticons/engel.png">',
'<img src="images/emoticons/engel.png">',
'<img src="images/emoticons/enveloppe.png">',
'<img src="images/emoticons/hart.png">',
'<img src="images/emoticons/hart.png">',
'<img src="images/emoticons/hartje.png">',
'<img src="images/emoticons/ilse.png">',
'<img src="images/emoticons/knipoog.png">',
'<img src="images/emoticons/knipoog.png">',
'<img src="images/emoticons/kus.png">',
'<img src="images/emoticons/kus.png">',
'<img src="images/emoticons/ring.png">',
'<img src="images/emoticons/ring.png">',
'<img src="images/emoticons/tong.png">',
'<img src="images/emoticons/tong.png">',
'<img src="images/emoticons/tong.png">',
'<img src="images/emoticons/tong.png">',
'<img src="images/emoticons/verliefd.png">',
'<img src="images/emoticons/xD.png">',
);

$replacebericht = str_replace($tekens,$smilies,$_POST['bericht']);


if(!empty($_POST['naam'])) 
{
if(!empty($_POST['bericht'])) 
{
include_once $_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';
$securimage = new Securimage();
if ($securimage->check($_POST['captcha_code']) == false) {
$b = "<font color='#e50a1f'>De code komt niet overeen met de afbeelding.</font>";
} else {
mysqli_query($con,"INSERT INTO gastenboek (naam,bericht,datum,tijd,ipadres) VALUES ('".htmlentities($_POST['naam'])."','".htmlentities($replacebericht)."','".date("Y-m-d")."','".date("H:i:s")."','".$_SERVER['REMOTE_ADDR']."')");
// remove all session variables
session_unset();

// destroy the session
session_destroy(); 
}
}
else
{
$a = "<font color='#e50a1f'>U heeft nog geen bericht ingevuld.</font>";
}
}
else 
{
$a = "<font color='#e50a1f'>U heeft nog geen naam ingevuld.</font>";
}

}
?>
> Ja dat had ik gedaan omdat Thomas zei dat het na htmlentities moest

Wanneer je haakjes gebruikt, moet je van binnen naar buiten denken. Bij nl2br(htmlentities($row['bericht'])) zal PHP de nl2br dus uitvoeren nĂ¡ de htmlentities.
Bedankt Willem dat wist ik niet en goed om te weten.

Reageren