Fonction dans un include ne fonctionne pas

hugs-giver Messages postés 111 Statut Membre -  
hugs-giver Messages postés 111 Statut Membre -
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 7217 Statut Membre 1 340
 
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 111 Statut Membre 30
 
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 7217 Statut Membre 1 340
 
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 111 Statut Membre 30
 
Merci beaucoup, je vais tester ça, je connaissais pas cette utilisation.

Bonne soirée
0