Fonction dans un include ne fonctionne pas

Fermé
hugs-giver Messages postés 88 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 10 juin 2014 - Modifié par hugs-giver le 8/12/2013 à 20:29
hugs-giver Messages postés 88 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 10 juin 2014 - 9 déc. 2013 à 21:23
Bonjour,

voici mon problème :

j'ai une page fonction.php qui contient ceci:


<?php
function eprcutaccent($chaine)
{
$chaine = str_replace("é", "&eacute;", $chaine);
return $chaine;
}
?>

Une autre, index.php qui contient ceci (En partie):
<?php

$titre =eprcutaccent( $_POST['titre']);

echo $titre;

?>

Si dans mon formulaire, j'entre la valeur "é" le code m'affiche "é", même dans la source.

Pour tester mon code, dans le fichier fonction en dessous de

function eprcutaccent($chaine)
{
j'ai placer la ligne

$chaine = "é";

la page renvois cette fois ci "&eacute;".
ce qui prouve que la fonction est bien appelé, ensuite, j'ai mis le code suivant dans la page index.php :

<?php

$titre = $_POST['titre'];
$titre = str_replace("é", "&eacute;", $titre);
echo $titre;

?>

Le code suivant affiche également "&eacute;" ce qui prouve également que le code de ma fonction fonctionne.

J'ai passé mon dimanche à essayé de comprendre pourquoi la fonction fonctionne, le code fonctionne, mais le code dans la fonction ne fonctionne pas!!!

Une idée pour que je puisse avoir l'âme en paix?

Merci



C cool de programmer quand ça marche!!
A voir également:

3 réponses

mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
9 déc. 2013 à 17:42
Bonsoir,

Pourquoi avez-vous AB-SO-LU-MENT besoin de convertir les caractères accentués en leurs entités HTML?

Codez tous vos scripts en UTF8. Ainsi, vous utiliserez nativement TOUS les caractères accentués, mais également les alphabets étrangers: grec, arable, russe, etc...

Explications:
https://html5.immo-scope.com/article/general_applisFullUtf8


A+
1
hugs-giver Messages postés 88 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 10 juin 2014 30
9 déc. 2013 à 19:10
Bonsoir,
merci de votre réponse,
j'en ai besoin pour généré un code xml pour un lecteur audio, il ne fonctionne pas avec les accents.
Oui, je sais qu'il y à d'autres solution, mais je veux juste comprendre pourquoi ma fonction ne fonctionne pas, quel est le problème.

Avez-vous une idée?

Ensuite, j'ai déjà essayé de tout codé en utf8 et iso8859, à chaques fois il y à des erreurs
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 9/12/2013 à 19:40
Je pense que votre lecteur audio est buggé. Solution: convertissez les "é" en "e".....

La fonction str_replace accepte les tableaux. Exemple:

<?php
$search = array("à","é"....etc...);
$replace = array("a", "e"...etc....)

$newStr = str_replace($search, $replace, $oldStr);


A+
0
hugs-giver Messages postés 88 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 10 juin 2014 30
9 déc. 2013 à 21:23
Merci beaucoup, je vais tester ça, je connaissais pas cette utilisation.

Bonne soirée
0