Problème de fonction avec include()
5 messages
• Page 1 sur 1
- isolu
- WRInaute discret

- Messages: 104
- Inscription: 21 Nov 2005
Problème de fonction avec include()
Bonjour,
J'ai un drôle de problème, J'ai jamais eu de problème en utilisant le include() de php mais j'en ai un et je suis incapable de le régler. J'ai une fonction que lorsque elle est dans le document direct elle fonctionne très bien mais si elle est dans un autre fichier et que ce fichier est appellé avec le include la fonction fonctionne pas bien.
La fonction est des simples str_replace() pour régler le problème d'un document copié et collé en provenance d'un document Microsoft Word dans un formulaire HTML. Certains caractères comme “ ” ‘ ne fonctionne pas bien.
Voici ma fonction :
Donc si la fonction est dans le même fichier qui l'appelle tout fonctionne, les caractères sont changé en caractères HTML. Mais si je met la fonction dans un include parceque j'ai plus d'une page qui a besoin de la fonction, ça fonctionne plus.
J'ai fait une test, j'ai ajouté d'autres caractères:
Résulat, ça fonctionne pour toutes les autres caractères excepté les 4
premiers et ces ceux là qui me cause des problèmes.
Au secours!!
J'ai un drôle de problème, J'ai jamais eu de problème en utilisant le include() de php mais j'en ai un et je suis incapable de le régler. J'ai une fonction que lorsque elle est dans le document direct elle fonctionne très bien mais si elle est dans un autre fichier et que ce fichier est appellé avec le include la fonction fonctionne pas bien.
La fonction est des simples str_replace() pour régler le problème d'un document copié et collé en provenance d'un document Microsoft Word dans un formulaire HTML. Certains caractères comme “ ” ‘ ne fonctionne pas bien.
Voici ma fonction :
- Code: Tout sélectionner
function word_to_html($text){// for copy and paste from Microsoft Word
$text = str_replace("“", "“", $text);
$text = str_replace("”", "”", $text);
$text = str_replace("‘", "‘", $text);
$text = str_replace("’", "’", $text);
return $text;
}
Donc si la fonction est dans le même fichier qui l'appelle tout fonctionne, les caractères sont changé en caractères HTML. Mais si je met la fonction dans un include parceque j'ai plus d'une page qui a besoin de la fonction, ça fonctionne plus.
J'ai fait une test, j'ai ajouté d'autres caractères:
- Code: Tout sélectionner
function word_to_html($text){// for copy and paste from Microsoft Word
$text = str_replace("“", "“", $text);
$text = str_replace("”", "”", $text);
$text = str_replace("‘", "‘", $text);
$text = str_replace("’", "’", $text);
$text = str_replace("<", "<", $text);
$text = str_replace(">", ">", $text);
$text = str_replace("?", "?", $text);
$text = str_replace("%", "%", $text);
return $text;
}
Résulat, ça fonctionne pour toutes les autres caractères excepté les 4
premiers et ces ceux là qui me cause des problèmes.
Au secours!!
-

rvbousse - Nouveau WRInaute

- Messages: 19
- Inscription: 25 Fév 2006
Bonsoir,
Ces 4 lignes ne font rien... car elles remplacent un caractère par le même caractère (pb de copier/coller)... ce qui te donne l'impression qu'elles fonctionnent, mais en fait, elles ne doivent pas mieux fonctionner que les 4 premières.
Pour ma part, je ferai dans la fonction le premier str_replace sur $text puis après :
$str_text = str_replace("'","'",$text);
$str_text = str_replace("'","'",$str_text);
(en mettant bien les bons caractères entre les doubles quotes " ")
etc...
et la fin :
return $str_text;
Cela fonctionne, j'ai une fonction comme cela...
Je ne suis pas un expert, mais le php doit se mélanger les pinceaux entre la variable d'appel et ta variable interne de fonction...comment ferait-il pour savoir faire la différence...elle porte toutes les deux le même nom.
A+
- Code: Tout sélectionner
$text = str_replace("<", "<", $text);
$text = str_replace(">", ">", $text);
$text = str_replace("?", "?", $text);
$text = str_replace("%", "%", $text);
Ces 4 lignes ne font rien... car elles remplacent un caractère par le même caractère (pb de copier/coller)... ce qui te donne l'impression qu'elles fonctionnent, mais en fait, elles ne doivent pas mieux fonctionner que les 4 premières.
Pour ma part, je ferai dans la fonction le premier str_replace sur $text puis après :
$str_text = str_replace("'","'",$text);
$str_text = str_replace("'","'",$str_text);
(en mettant bien les bons caractères entre les doubles quotes " ")
etc...
et la fin :
return $str_text;
Cela fonctionne, j'ai une fonction comme cela...
Je ne suis pas un expert, mais le php doit se mélanger les pinceaux entre la variable d'appel et ta variable interne de fonction...comment ferait-il pour savoir faire la différence...elle porte toutes les deux le même nom.
A+
- isolu
- WRInaute discret

- Messages: 104
- Inscription: 21 Nov 2005
Oups!
Dans la fonction ce n'est le même caratère, le > est remplacé par >. Et c'est ainsi pour toutes les autres. Je remplace les caractères par son code HTML. Evidement ici on le voit pas parceque le naviguateur interprète le html.
Dans la fonction ce n'est le même caratère, le > est remplacé par >. Et c'est ainsi pour toutes les autres. Je remplace les caractères par son code HTML. Evidement ici on le voit pas parceque le naviguateur interprète le html.
- Code: Tout sélectionner
str_replace(">", "Le code html", $text);
Dernière édition par isolu le Ven Mar 31, 2006 23:29, édité 1 fois.
-

f_trt - WRInaute impliqué

- Messages: 903
- Inscription: 17 Sep 2005
On dirait un problème de codage de caractères ?
Si certains ordres de ta fonction fonctionnent c'est que l'include est ok et que la fonction fait son travail. Maintenant il semble que lorqu'elle provient d'un autre fichier certains caractères ne soit plus correctement interprétés est-ce le même editeur qui a fait le fichier include et l'autre fichier ou tu as l'include dedans ?
Est-ce que tu les publies de la même façon par exemple en binaire si c'est pas ftp ?
C'est une piste.
A+
Si certains ordres de ta fonction fonctionnent c'est que l'include est ok et que la fonction fait son travail. Maintenant il semble que lorqu'elle provient d'un autre fichier certains caractères ne soit plus correctement interprétés est-ce le même editeur qui a fait le fichier include et l'autre fichier ou tu as l'include dedans ?
Est-ce que tu les publies de la même façon par exemple en binaire si c'est pas ftp ?
C'est une piste.
A+
- isolu
- WRInaute discret

- Messages: 104
- Inscription: 21 Nov 2005
J'ai finalement trouver la fonction pour régler mon promlème
du copie coller d'un document word à un formulaire HTML.
du copie coller d'un document word à un formulaire HTML.
- Code: Tout sélectionner
function convert_word_to_html($string){
$text = htmlentities($string, ENT_QUOTES,'UTF-8');
return $text;
}
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Problème avec la fonction include
- Est-ce un probleme pour adsence la fonction include ?
- Fonction Include et Fonction $_SERVER['REQUEST_URI']
- La fonction Include
- fonction include et title
- Fonction include bizarre
- fonction include et adsense
- include () ( fonction php )
- fonction include : php4 à php5
- Question php : la fonction include
- Gérer l'entête HTTP en PHP - 04-08-2008
- Concours WRI / Vivastreet : gagnez un voyage à New-York - 21-03-2005
- Référencer un site multilingue - 24-04-2004
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- MyMaps : des cartes personnalisées avec Google Maps - 05-04-2007
- Votre site est mal référencé ? Voilà les remèdes ! - 08-11-2003
- Google ajoute la Navigation par nom dans sa Toolbar - 15-07-2004
- Les sites les plus visibles pour le mot Google - 27-11-2002
Consultez la description détaillée des produits ou services de Google suivants : Google Related Links
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités
