Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1406 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [résolu] Nettoyage de chaine par Regex

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu] Nettoyage de chaine par Regex

n°2028721
sebnutt
Un petit rien du tout
Posté le 12-10-2010 à 17:40:06  profilanswer
 

Bonjour à tous,
 
voici un une chaine  

Code :
  1. $chaine = '<hd size="2" font="arial" size="2"><td font size="3"><a href="">lien</a>';


 
j'aimerais trouver l'expression régulière qui supprime le texte de cette chaine de "<hd" jusqu'au premier ">" et du "<td" jusqu'au ">" suivant.
pour obtenir

Code :
  1. <a href="">lien</a>


 
j'ai essayé ça :

Code :
  1. $chaine =  mb_ereg_replace("<hd(.*)><td(.*)>","",$chaine);


 
mais ça me vire tout. Comment puis-je rédiger mon expression régulière ?
Merci de votre aide


Message édité par sebnutt le 13-10-2010 à 11:29:51
mood
Publicité
Posté le 12-10-2010 à 17:40:06  profilanswer
 

n°2028854
roondar
Posté le 13-10-2010 à 10:07:45  profilanswer
 

Code :
  1. $chaine =  mb_ereg_replace("<hd(.*)><td[^>]*>","",$chaine);

n°2028872
sebnutt
Un petit rien du tout
Posté le 13-10-2010 à 11:16:48  profilanswer
 

merci, je vais tester.
A côté, j'ai testé la fonction strip_tags, et ça marche pas mal...

n°2028875
sebnutt
Un petit rien du tout
Posté le 13-10-2010 à 11:29:39  profilanswer
 

roondar, un grand merci, j'ai adapté ton bout de code à toutes les balises que je souhaitais virer, et ça a fonctionné à merveille !

n°2028877
roondar
Posté le 13-10-2010 à 11:31:22  profilanswer
 

sebnutt a écrit :

roondar, un grand merci, j'ai adapté ton bout de code à toutes les balises que je souhaitais virer, et ça a fonctionné à merveille !


Ce fut un plaisir ^^
 
Sinon pourquoi tu n'utilises pas plutôt cette fonction http://fr.php.net/manual/fr/function.preg-replace.php ?

n°2029401
sebnutt
Un petit rien du tout
Posté le 15-10-2010 à 00:17:27  profilanswer
 

je sais pas :)

 

mais à ce sujet, j'essaye d'utiliser preg_replace pour transformer

 

<img src=" "> en <img src="" />

 

et je cale.

 
Code :
  1. $chaine = preg_replace("<img[^>]>", "<img$1 />", $chaine);


ne fonctionne pas.

 

une idée ?

Message cité 1 fois
Message édité par sebnutt le 15-10-2010 à 00:17:52
n°2029431
roondar
Posté le 15-10-2010 à 09:22:12  profilanswer
 

sebnutt a écrit :

je sais pas :)
 
mais à ce sujet, j'essaye d'utiliser preg_replace pour transformer
 
<img src=" "> en <img src="" />
 
et je cale.
 

Code :
  1. $chaine = preg_replace("<img[^>]>", "<img$1 />", $chaine);


ne fonctionne pas.
 
une idée ?


 
Je te conseille d'aller voir ce tuto sur les regex http://www.siteduzero.com/tutoriel [...] e-1-2.html , pour comprendre ce que tu fais notament la parte sur les "Les parenthèses capturantes" et ca http://php.net/manual/fr/function.preg-replace.php pour le fonctionnement de cette fonction.

Code :
  1. $chaine = preg_replace("#<img([^>]+)>#", "<img \1 />",  $chaine);


Message édité par roondar le 15-10-2010 à 09:29:00
n°2029460
sebnutt
Un petit rien du tout
Posté le 15-10-2010 à 09:47:26  profilanswer
 

super ton tuto, merci !

n°2029475
stealth35
Posté le 15-10-2010 à 10:16:04  profilanswer
 

c'est pour faire quoi a la base ? nettoyer un fichier HTML ?

n°2029719
sebnutt
Un petit rien du tout
Posté le 15-10-2010 à 21:00:22  profilanswer
 

yes. en fait je m'occupe de la migration d'un site dont certaines donnés stockées dans une base MYSQL contiennent du HTML dont je ne veux pas. mais je ne dois pas toucher à ces données, il faut que je m'arrange pour les rendre XHTML compliant sans toucher à la base - pour le moment.

mood
Publicité
Posté le 15-10-2010 à 21:00:22  profilanswer
 

n°2029740
roondar
Posté le 15-10-2010 à 22:29:22  profilanswer
 

c'est porc !

n°2029837
stealth35
Posté le 16-10-2010 à 17:45:24  profilanswer
 

c'est net ca ressemble a rien, utilise tidy ou DOMDocument c'est fait pour


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [résolu] Nettoyage de chaine par Regex

 

Sujets relatifs
Remplacer URL par LIEN cliquable via REGEX[Regex] Détecter des nombres entre crochets
Aide sur une REGEX C# svpDécouper une chaîne avec un tableau de longueur en param
Capturer avec une REGEXaide regex svp
[VBA] Test de chaine de caractère sur une collectionConstante chaîne non terminée
[RESOLU] Remplacement d'une chaine de caractères dans un fichier htmlDécoder une chaine de caractère
Plus de sujets relatifs à : [résolu] Nettoyage de chaine par Regex


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR