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 : preg_replace !!

Re: preg_replace !!

par soundlight1 » 09 févr. 2011, 12:32

Pfff quel erreur de bêta !!!!

J' étais en mode teste donc pas mis d'entête donc pas de charset chargé !!!!!

Merci

Re: preg_replace !!

par stealth35 » 09 févr. 2011, 10:19

ton code PHP est bien en utf-8 ?

preg_replace !!

par soundlight1 » 09 févr. 2011, 02:29

Bonjour a tous j'utilise ce bout de code (source d’Olivier sur le sujet) pour nettoyer les accents de mon nom de ville et le passer en Majuscules.

il marchait à l'origine mais je ne sais pour quelles raisons il ne fonctionne plus

Pour le moment il me détecte une variable non nul mais vide lorsque mon texte contient un accent.

il passe bien le contenu en majuscule si il n'y as pas d'accent dans mon texte de base.

Quelqu'un aurait-il la solution à mon problème?

Merci d'avance
function wd_remove_accents($str, $charset='utf-8')
{
    $str = htmlentities($str, ENT_NOQUOTES, $charset);
    
    $str = preg_replace('#\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml)\;#', '\1', $str);
    $str = preg_replace('#\&([A-za-z]{2})(?:lig)\;#', '\1', $str); // pour les ligatures e.g. 'œ'
    $str = preg_replace('#\&[^;]+\;#', '', $str); // supprime les autres caractères
    
    return $str;
}
if (!empty ($_POST['VILLE']))
{
	$ville = wd_remove_accents($_POST['VILLE']);
	$ville = ucwords(strtoupper($ville));
}