probleme preg_replace

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme preg_replace

par zeus » 26 juil. 2005, 14:48

C'est pas parce que tu utilise $str_noacc dans ta fonction que tu peut l'utiliser dans le code.

Cette variable à une portée locale, c'est à dire que tu ne peut l'utiliser que dans la fonction. pour afficher cette variable, il faut que tu récupère le retour de ta fonction et que tu l'affiche
$retour = no_accent ($accent);
echo $retour;

par Cyrano » 26 juil. 2005, 14:47

remplace les deux dernière ligne par ceci:
$chaine = no_accent ($accent);
echo $chaine;

par ouckileou » 26 juil. 2005, 14:46

$str_noacc est une variable locale de ta fonction, non définie dans le reste du script

comme tu fais un return $str_noacc, il faut que tu rècupères ce retour de fonction dans une variable
$str_noacc = no_accent();
echo $str_noacc; 

probleme preg_replace

par VaN » 26 juil. 2005, 14:45

<?php
function no_accent($str_accent) 
{
   $pattern = Array("/é/", "/è/", "/ê/", "/ç/", "/à/", "/â/", "/î/", "/ï/", "/ù/", "/ô/");
   // notez bien les / avant et après les caractères
   $rep_pat = Array("e", "e", "e", "c", "a", "a", "i", "i", "u", "o");
   $str_noacc = preg_replace($pattern, $rep_pat, $str_accent);
   return $str_noacc;
}
$accent = "Bé alors comment va ta mère ? Où vas tu ? àààhh !!";
echo $accent."<br>";
no_accent ($accent);
echo $str_noacc;
?>
me renvoie Undefined variable: str_noacc in c:\program files\easyphp1-7\www\extranet\back\ressources\accent.php on line 21

Ou est le problème ?