Lentreprenaute Posté 18 Février 2004 Partager Posté 18 Février 2004 comment ecrire cela pour remplacer toutes les répétitons ! dans mon exemple j'en remplace 3 par 1 mais est ce qu'il est possible d'ecrire remplacer tous les tags qui se répete par un seul! car sinon ca devient ingérable. moi et les expressions ca fait deux, un grand merci a celui qui me donne la soluce $letexte = ereg_replace("<ol><ol><ol>","<ol>",$letexte);// _ol Florent qui squatte le hub en ce moment Lien vers le commentaire Partager sur d’autres sites More sharing options...
Guest Hellway Posté 18 Février 2004 Partager Posté 18 Février 2004 Essaies ça : $Chaine=preg_replace('/<([ol<> ])>/i', '<ol>', $Chaine); Je te granti pas que ça marche, mais le principe sur lequel je me base, c'est de remplacer une chaine qui commence par < et qui fini par > et qui ne peut contenir que les caractères o,l,<,> et peut-être un espace en plus... Le i ça veut dire que ça se répète autant de fois que possible. Par contre, pour les < et > il est peut-être obligé de mettre un caractère d'échappement \. Voilà Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lentreprenaute Posté 18 Février 2004 Auteur Partager Posté 18 Février 2004 Merci Helli... pour ta réponse par contre, il ne se passe rien, hélas les doubons restent etc... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 18 Février 2004 Partager Posté 18 Février 2004 $letexte = ereg_replace("(<ol>){1,9}","<ol>",$letexte); La syntaxe (<ol>){1,9} signifie "de 1 à 9 occurences de <ol>". Remplaces les nombres mini/maxi par les valeurs que tu souhaites. Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lentreprenaute Posté 18 Février 2004 Auteur Partager Posté 18 Février 2004 Dan , ca ne le fait toujours pas!? merci quand meme Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 18 Février 2004 Partager Posté 18 Février 2004 Dan , ca ne le fait toujours pas!? merci quand meme Une parenthèse mal placée... tu réessayes ? J'ai corrigé le code ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lentreprenaute Posté 18 Février 2004 Auteur Partager Posté 18 Février 2004 Cette fois c'est la bonne, ca marche:) ca m'embete de rien comprendre à ces expressions ! un grand merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lentreprenaute Posté 19 Février 2004 Auteur Partager Posté 19 Février 2004 Nouvelle problematique J'aimerai filtrer mon contenu pour remplacer tous les caractères spéciaux, comme ce "&" qui s'ecrit je ne sais plus avec quel code. etc... Connaissez vous un moyen de faire ca? je souhaite que mon contenu soit xhtml strict! Merci Florent Lien vers le commentaire Partager sur d’autres sites More sharing options...
Guest Hellway Posté 19 Février 2004 Partager Posté 19 Février 2004 (modifié) $Chaine=str_replace('&', '&', $Chaine); Sinon, pour la première question, je reste convaincu qu'il est préférable de ne pas avoir à spécifier un nombre déterminé de balises et plutôt de remplacer ces dernières quelque soit leur nombre. Bref, essaies ça : $Chaine=preg_replace('/<([ol<> ]+)>/i', '<ol>', $Chaine); Edité : Un doute dans la syntaxe... Modifié 19 Février 2004 par Hellway Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 19 Février 2004 Partager Posté 19 Février 2004 Bonjour, Pour les caractères spéciaux, deux solutions : On réinvente la roue function HTML_foo($txt){$array=("&","&", "\"",""", "<","<", ">",">", " "," ", "¡","¡", "¢","¢", "£","£", "€","¤", "¥","¥", "Š","¦", "§","§", "š","¨", "©","©", "ª","ª", "«","«", "¬","¬", "","", "®","®", "¯","&masr;", "°","°", "±","±", "²","²", "³","³", "Ž","´", "µ","µ", "¶","¶", "·","·", "ž","¸", "¹","&supl;", "º","º", "»","»", "Œ","¼", "œ","½", "Ÿ","¾", "¿","¿", "À","À", "Á","Á", "Â","Â", "Ã","Ã", "Ä","Ä", "Å","Å", "Æ","&Aelig;", "Ç","Ç", "È","È", "É","É", "Ê","&Ecric;", "Ë","Ë", "Ì","Ì", "Í","Í", "Î","Î", "Ï","Ï", "Ð","ð", "Ñ","Ñ", "Ò","Ò", "Ó","Ó", "Ô","Ô", "Õ","Õ", "Ö","Ö", "×","×", "Ø","Ø", "Ù","Ù", "Ú","Ú", "Û","Û", "Ü","Ü", "Ý","Ý", "Þ","þ", "ß","ß", "à","&agrace;", "á","á", "â","â", "ã","ã", "ä","ä", "å","å", "æ","æ", "ç","ç", "è","è", "é","é", "ê","ê", "ë","ë", "ì","ì", "í","í", "î","î", "ï","ï", "ð","ð", "ñ","ñ", "ò","ò", "ó","ó", "ô","ô", "õ","õ", "ö","ö", "÷","÷", "ø","ø", "ù","ù", "ú","ú", "û","û", "ü","ü", "ý","ý", "þ","þ", "ÿ","ÿ"); while (list($a,$ = each($array)){ $txt = str_replace($a,$b,$txt); } return $txt; } ou on se sert de la doc $txt = htmlentities($txt); Anonymus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lentreprenaute Posté 20 Février 2004 Auteur Partager Posté 20 Février 2004 Super anonymous, figures toi que je me suis servi de la doc! et que j'ai utilisé le code ci-dessous, je testais en insérant des caracteres spéciaux "" & "" et avec html entities rien a faire il me retournait pas le bon code, je crois avoir remarqué le meme pb avec certains caracteres que j'ai mis en plus dans le filtre car ca me faisait fumer le cerveau à la longue. J'ai donc fait un hybride des deux, pour certains caracteres! merci en tout cas, ta liste des caracteres, je la mets de coté $letexte = htmlentities( $letexte, ENT_NOQUOTES); $transform = array (" "=> " ","<"=> "<",">"=> ">","&#"=> "", ""=> "™", ""=> "€", ""=> "Œ", ""=> "œ", ""=> "ƒ", ""=> "", ""=> "", ""=> "Ÿ", ""=> "", "~"=> "~", "$"=> "$", ); $letexte = strtr( $letexte, $transform ); unset($transform); return $letexte; Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 20 Février 2004 Partager Posté 20 Février 2004 As tu essayé ceci : <?php$trans = get_html_translation_table(HTML_ENTITIES); $str = "Hallo & <Frau> & Krämer"; $encoded = strtr($str, $trans); ?> Anonymus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lentreprenaute Posté 20 Février 2004 Auteur Partager Posté 20 Février 2004 RE, Oui j'avais essayé Anonymous, mais je vais refaire un test , de ton dernier code, car j'avais l'esprit un peu saturé hier. C'est que je suis pas développeur à la base! J'aurai une dernière requete à vous soumettre, comment faire pour supprimer tous ces bous de code XXX etant des valeurs qui peuvent , vous l'avez deviné "etre differentes". <div class='cadre_XXX'><a href='XXXX'><img src='XXXX' height="XXX" width="XXX" alt=""/></a></div> Je peux avoir d'autres div à ne pas supprimer, merci de votre aide, les hubiens. Merci Florent Ps: j'espere ne pas abuser ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 20 Février 2004 Partager Posté 20 Février 2004 1/ Tu n'abuses pas 2/ peux tu réexpliquer ? Dans ce code, que veux tu enlever exactement ? <div class='cadre_XXX'><a href='XXXX'><img src='XXXX' height="XXX" width="XXX" alt=""/></a></div> Les xxx peuvent etre différents, mais alors comment en reconnaitre un ? comment savoir celui que tu veux enlever de celui que tu ne veux pas enlever ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lentreprenaute Posté 20 Février 2004 Auteur Partager Posté 20 Février 2004 (modifié) Anonymous, 1/merci 2/ je veux enlever toutes les lignes comme celle ci-dessous! sachant que j'aurai des valeurs XXX qui peuvent changer. et d'autres div mais avec des class differenst à ne pas supprimer ! donc tout ce qui sera formatter ainsi, je souhaite le supprimer! <div class='cadre_XXX'><a href='XXXX'><img src='XXXX' height="XXX" width="XXX" alt=""/></a></div> ce qui reveint surement a chercher identifier le div class & sa fermeture et le supprimer avec tout le bloc entre les deux? c'est possible? <div class='cadre_ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx<div> Florent Modifié 20 Février 2004 par Lentreprenaute Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 21 Février 2004 Partager Posté 21 Février 2004 Ceci devrait marcher : $text = eregi_replace("<div class='cadre_[^<>]*>.*</div>"," ",$text); Anonymus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lentreprenaute Posté 21 Février 2004 Auteur Partager Posté 21 Février 2004 du premier coup! Merci beaucoup Florent Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 21 Février 2004 Partager Posté 21 Février 2004 Fais bien attention que tous tes <div soient fermés par les bons </div. Exemple : <div1 texte <div2 suite </div il manque un div, donc tout risque d'etre effacé. Voilà, au plaisir Anonymus Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant