Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/09/2011, 13h49   #1
Invité régulier
 
Avatar de antoinelavigne
 
Inscription : mars 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 82
Points : 9
Points : 9
Par défaut Aide regex balise

Bonjour,

j'ai un peu de mal à construite un regex et je viens demander de l'aide ici
J'ai un forum où quelques utilisateurs utilisent Opéra ; du coup, ça rajoute parfois des :

Code :
<span class="Apple-style-span" style="font-family: 'Lucida Console', Courier, 'Courier New'; ">
ou des
Code :
<span class="Apple-style-span" style="font-family: 'Times New Roman'; ">

ou encore des

Code :
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; line-height: 18px; ">
... les syntaxes sont variées mais elles ont toutes en commun une partie : class="Apple-style-span"

Le regex que j'essaie donc de construire est donc : repérer tous les balises avec comme classe "Apple-style-span" et supprimer entièrement cette balise. La difficulté pour moi n'est pas de trouver le nom de la classe, mais d'indiquer qu'il faut dans ce cas-là prendre tout le span pour tout supprimer.

Merci d'avance à ceux qui se pencheront sur mon problème
antoinelavigne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 14h31   #2
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 791
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 791
Points : 1 681
Points : 1 681
Salut,
je pense que ceci devrait fonctionner, à tester :

Code :
1
2
3
4
$str = '<span class="Apple-style-span" style="font-family: \'Lucida Console\', Courier, \'Courier New\'; ">tttttttttttttttttt1</span>
    <span class="Apple-style-span" style="font-family: \'Lucida Console\', Courier, \'Courier New\'; ">tttttttttttttttttt2</span>';
$str = preg_replace('`<.*?class="Apple-style-span".*?>(.*?)</.*?>`', '\1', $str);
echo htmlentities($str);
A+
__________________
Vive les roues en pierre
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 18h47   #3
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
par parser du HTML c'est DOMDocument
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 19h10   #4
Invité régulier
 
Avatar de antoinelavigne
 
Inscription : mars 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 82
Points : 9
Points : 9
Bonjour,

il me faut bien un regex et pas un parser car j'utilise d'autres balises html autorisées

Sinon, la syntaxe de Djakisback ne marche pas. Help
antoinelavigne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 21h21   #5
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 791
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 791
Points : 1 681
Points : 1 681
Est-ce que tu peux être plus précis quand tu dis que ça ne marche pas ?
__________________
Vive les roues en pierre
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h37.


 
 
 
 
Partenaires

Hébergement Web