remplacer à par a et é par e............ en php

mahdivitche
WRInaute impliqué
WRInaute impliqué
 
Messages: 967
Inscription: 6 Jan 2008

remplacer à par a et é par e............ en php

Message le Ven Juil 18, 2008 20:02

bonjour,

je veux reamplacer tous les carcatére comme : é ,è ,â , à , ç..... vers e , a ,c.......en php

j'ai fait le code suivant
$pp=str_replace("è","e","$pp");
$pp=str_replace("à","a","$pp"); $pp=str_replace("â","a","$pp");
$pp=str_replace("ô","o","$pp");
....................

y'a tille un autre methode pour resoudre ce probleme ?

merci d'avance
Dernière édition par mahdivitche le Ven Juil 18, 2008 20:58, édité 2 fois.


OTP
Modérateur
Modérateur
 
Messages: 19375
Inscription: 16 Déc 2005

Message le Ven Juil 18, 2008 20:06

Code: Tout sélectionner
function nettoyage($text)
{
   $separator = "-";
   $tofind = "àáâãäåòóôõöøèéêëçìíîïùúûüÿñ"; // Lettre accentuées
   $replac = "aaaaaaooooooeeeeciiiiuuuuyn"; // Equivalent non accentué
   $text = strtr(strtolower($text),$tofind,$replac);
   $text = ereg_replace("[^a-z0-9.]", $separator, $text);
   while (strstr($text, $separator . $separator))
      $text = str_replace($separator . $separator, $separator, $text);
   if (substr($text, 0, 1) == $separator)
      $text = substr($text, 1);
   return(ereg_replace($separator . "$", "", $text));
}


Edit : copyright je-ne-sais-plus-qui-du-forum qui m'a bien aidé à l'époque

mahdivitche
WRInaute impliqué
WRInaute impliqué
 
Messages: 967
Inscription: 6 Jan 2008

Message le Ven Juil 18, 2008 20:37

Merci boucoup OTP

mahdivitche
WRInaute impliqué
WRInaute impliqué
 
Messages: 967
Inscription: 6 Jan 2008

Message le Ven Juil 18, 2008 20:59

Mais comment transferer les code html vers les lettres ( "è ---> è .... )

Merci d'avance


OTP
Modérateur
Modérateur
 
Messages: 19375
Inscription: 16 Déc 2005

Message le Ven Juil 18, 2008 21:08



HawkEye
WRInaute accro
WRInaute accro
 
Messages: 17005
Inscription: 23 Fév 2004

Message le Ven Juil 18, 2008 21:29



OTP
Modérateur
Modérateur
 
Messages: 19375
Inscription: 16 Déc 2005

Message le Ven Juil 18, 2008 21:31

Je n'étais pas très loin... ;)

mahdivitche
WRInaute impliqué
WRInaute impliqué
 
Messages: 967
Inscription: 6 Jan 2008

Message le Sam Juil 19, 2008 15:17

Merci

mais j'ai un probléme : j'ai fait :

Code: Tout sélectionner

--- je declare la fonction nettoyage et aussi connexion a base de donne

<?php $pp=$ligne['titre'];//recuperer le titre des sites
$pp=strtolower("$pp");
$pp=htmlentities("$pp");
$pp=nettoyage($pp);
?>   
                                                                             


et par exemple j'ai : "location à Marrakech" ---> il affiche "location-amp-agrave-marrakech"
alors moi je veut affiche "location-a-marrakech"


Merci d'avance


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Sam Juil 19, 2008 15:34

C'est l'enchaînement de tes fonctions.

Fait un html-entity-decode puis la fonction de nettoyage OTP.


bgdc
WRInaute impliqué
WRInaute impliqué
 
Messages: 723
Inscription: 23 Mai 2005

Message le Sam Juil 19, 2008 17:16

OTP a écrit:Edit : copyright je-ne-sais-plus-qui-du-forum qui m'a bien aidé à l'époque

Je crois bien que c'etait moi et que la fonction s'appellait viremerde :D
Mais bon, je n'ai pas le copyrighnt non plus car qqun (je ne sais plus qui non plus) me l'avait filer.


OTP
Modérateur
Modérateur
 
Messages: 19375
Inscription: 16 Déc 2005

Message le Sam Juil 19, 2008 19:40

Oui, en effet, je me souviens du nom maintenant.
J'en ai pris un un peu plus soft !
En tout cas, merci encore.

Edit : http://www.webrankinfo.com/forums/viewt ... htm#763838


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3827
Inscription: 14 Sep 2006

Message le Sam Juil 19, 2008 19:42

C'est le genre de fonction que tout le monde se refile et modifie à sa guise ^^

La mienne est énorme maintenant :D


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Sam Juil 19, 2008 21:03

Moi j'ai celle la :
Code: Tout sélectionner
function filter($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. '&oelig;'
       $str = preg_replace('#\&[^;]+\;#', '', $str); // supprime les autres caractères
       $str = preg_replace('@[^a-zA-Z0-9_]@','',$str);
       return $str;
   }


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité