Problème d'apostrophe dans un textbox avec un texte d'un module perso -
heriquet - 17/01/2012
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.2
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~ PHP : 5.2.13-pl0-gentoo
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour,
J'ai un petit problème avec un texte placé dans le fichier lang/ext/fr_FR.php d'un module perso...
Code :
[== Indéfini ==]
$lang['contact_subject_contact']="[WebSite] Recherche d'un bien à louer ou à vendre";
Je dois mettre ce texte dans un input text et les apostrophes ne sont pas converties pour le moment.. Mais tout le reste bien !
Résultat :
Citation :[WebSite] Recherche d'un bien à louer ou à vendre
Mon code PHP :
Code :
[== PHP ==]
$smarty->assign('Subject', $this->addContactCSSClass($this->CreateInputTextWithLabel($id, 'Subject', isset($params['contact_message_subject'])?html_entity_decode($this->Lang($params['contact_message_subject']), ENT_QUOTES, "UTF-8"):'', 70, 100, '', $this->Lang('contact_subject')), 'Subject', 'InputText', $contact_required, $contact_optionnal));
Est-ce que quelqu'un aurait une idée de l'erreur que je fais pour que ces satanées apostrophes ne soient pas converties normalement ?
Je ne dois pas être le premier a avoir le problème mais mes recherches n'ont rien donné qui résolve le problème !
D'avance merci !
Heriquet
Problème d'apostrophe dans un textbox avec un texte d'un module perso -
bess - 17/01/2012
Tu dois avoir un double encodage je parie
' => &s;#39;
et donc
html_entity_decode($this->Lang($params['contact_message_subject'])
fait son travail
&s;#39; => '
Regarde en mettant des points d'arrêts dans ton code
Problème d'apostrophe dans un textbox avec un texte d'un module perso -
heriquet - 17/01/2012
Je viens de modifier le texte qui apparaît à l'écran.
Je vais encore un peu gratter...
Problème d'apostrophe dans un textbox avec un texte d'un module perso -
heriquet - 17/01/2012
Voila ce que j'ai quand je met juste : $this->Lang($params['contact_message_subject'])
[WebSite] Recherche d'un bien à louer ou à vendre
[WebSite] Demande d'informations pour un bien du site Espace habitat
=> double encodage
Avec html_entity_decode :
J'ai ceci dans le textbox : [WebSite] Recherche d'un bien à louer ou à vendre, mais quand je m'envoi une trace par email, l'apostrophe est correctement remplacée.
Je continue à chercher... (ca m'aura couté cher au caractère encodé cette histoire...)
Problème d'apostrophe dans un textbox avec un texte d'un module perso -
Jean le Chauve - 17/01/2012
Et l'échapper avec une antislash, tu n'as pas essayé, \' ?
Problème d'apostrophe dans un textbox avec un texte d'un module perso -
heriquet - 17/01/2012
Affirmatif !
En fait html_entity_decode fait bien son boulot... puis une fois le texte placé dans l'input text, ca part en vrille ! Comme si cette fonction modifiait également la chaine.
Je continue mes recherches !
Je crains devoir hacker la chaine avec du str_replace ou un truc du genre pour que ca passe... Soit carrément faire ma propre fonction CreateInputTextWithLabel...
Problème d'apostrophe dans un textbox avec un texte d'un module perso -
heriquet - 17/01/2012
Bon j'ai trouvé...
Dans le fichier de langues :
Citation :$lang['contact_subject_contact']="[WebSite] Recherche d'un bien à louer ou à vendre";
Dans le fichier "action" qui appelle cette chaîne de caractères :
Code :
[== PHP ==]
$smarty->assign('Subject', html_entity_decode($this->addContactCSSClass($this->CreateInputTextWithLabel($id, 'Subject', isset($params['contact_message_subject'])?html_entity_decode($this->Lang($params['contact_message_subject']), ENT_QUOTES, 'UTF-8'):'', 70, 100, '', $this->Lang('contact_subject')), 'Subject', 'InputText', $contact_required, $contact_optionnal)));
Qui avait trouvé ? =)
J'ai rien touché à la chaine. Juste placé l'appel à CreateInputTextWithLabel dans un html_entity_decode...
Franchement j'avoue j'ai du faire de l'essai-erreur... Nooon...