[Réglé] Problème avec apostrophe dans la balise Title en PHP

WRInaute impliqué
Bonjour,

Pour des raisons d'ergonomie je voudrai mettre un balise title dans les option d'une liste déroulante.

dont voici un partie du code (Je suis débutant en PHP)

Code:
   $title = "'$row->libelle'";    // une phrase  

    $champopt=$champopt."<OPTION title=".$title." value=".$row->num_id.">".$row->num_id.": ".substr ($row->libelle, 0, 35).$pts;

Quand $title est une phrase sans apostrophe c'est bon la "title" fonctione, mais quand il y a une apostrophe tous ce qui a après disparaît.

J'ai beau ajouté addslash mais rien y fait.

Avez vous une idée pour me dépanner SVP

Merci
 
WRInaute impliqué
Super Kiwi cela fonctionne Merci bcp

donc j'ai mis
$title = $row->libelle; au lieu de $title = "'$row->libelle'";
et dans la balise option title=\"".$title."\" au lieu de title=".$title."

Mais je n'arrive pas a comprendre le pourquoi 8O
 
WRInaute passionné
il faut utiliser la fonction htmlspecialchars pour remplacer les caractères utilisés par HTML dans le texte (", <, ...) :
Code:
$champopt=$champopt."<OPTION title=\"".htmlspecialchars($row->libelle)."\" value=".$row->num_id.">".$row->num_id.": ".htmlspecialchars(substr ($row->libelle, 0, 35)).$pts;
 
WRInaute impliqué
webmasterlamogere a dit:
il faut utiliser la fonction htmlspecialchars pour remplacer les caractères utilisés par HTML dans le texte (", <, ...) :
Code:
$champopt=$champopt."<OPTION title="".htmlspecialchars($row->libelle)."" value=".$row->num_id.">".$row->num_id.": ".htmlspecialchars(substr ($row->libelle, 0, 35)).$pts;

Nickel cela fonctionne aussi :D
Merci pour l'explication
 
Discussions similaires
Haut