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


dznet
WRInaute impliqué
WRInaute impliqué
 
Messages: 643
Inscription: 1 Juil 2004

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

Message le Lun Déc 01, 2008 14:26

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: Tout sélectionner

   $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
Dernière édition par dznet le Lun Déc 01, 2008 16:01, édité 1 fois.


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Lun Déc 01, 2008 14:30

title='".$title."'


dznet
WRInaute impliqué
WRInaute impliqué
 
Messages: 643
Inscription: 1 Juil 2004

Message le Lun Déc 01, 2008 14:53

e-kiwi a écrit:title='".$title."'


Salut Kiwi :D Merci de ta réponse rapide, mais cette solution ne fonctionne pas.
Elle me donne le même résultat (c.a.d rien après apostrophe)


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Lun Déc 01, 2008 15:17

Tu remplaces dans ta chaine les " par &quot; non?


dznet
WRInaute impliqué
WRInaute impliqué
 
Messages: 643
Inscription: 1 Juil 2004

Message le Lun Déc 01, 2008 15:35

Non je ne pense pas que cela puisse fonctionné

C'est un vrais casse tête :(


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Lun Déc 01, 2008 15:45

tu as cet exemple en ligne pour voir le code généré (c'est toujours lui qui montre où est l'erreur)


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Lun Déc 01, 2008 15:46

Pourquoi ça ne fonctionnerait pas? C'est comme ça que ça soit être faite en HTML...


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Lun Déc 01, 2008 15:51

sinon title=\"".$title."\"


dznet
WRInaute impliqué
WRInaute impliqué
 
Messages: 643
Inscription: 1 Juil 2004

Message le Lun Déc 01, 2008 16:00

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


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Lun Déc 01, 2008 16:01

il faut utiliser la fonction htmlspecialchars pour remplacer les caractères utilisés par HTML dans le texte (", <, ...) :
Code: Tout sélectionner
$champopt=$champopt."<OPTION title=\"".htmlspecialchars($row->libelle)."\" value=".$row->num_id.">".$row->num_id.": ".htmlspecialchars(substr ($row->libelle, 0, 35)).$pts;


dznet
WRInaute impliqué
WRInaute impliqué
 
Messages: 643
Inscription: 1 Juil 2004

Message le Lun Déc 01, 2008 16:13

webmasterlamogere a écrit:il faut utiliser la fonction htmlspecialchars pour remplacer les caractères utilisés par HTML dans le texte (", <, ...) :
Code: Tout sélectionner
$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


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités