Problème de fonction avec include()
5 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
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!!
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+
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.
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+
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
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Gérer l'entête HTTP en PHP
- Référencement d'un forum phpBB
- Liste d'erreurs classiques de duplicate content
- Google Code Jam 2003
- Comment placer son blog dans Google Finance
- Aperçu des différents types de redirection
- Concours WRI / Vivastreet : gagnez un voyage à New-York
- Référencer un site multilingue
- Matt Cutts déclare la guerre au spamdexing en français (et autres langues)
- Froogle, l'annuaire du shopping selon Google
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 0 invités




le forum