Help please: détecttion de style [Résolu]

Signaler
Messages postés
14
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
16 septembre 2010
-
UZUL33
Messages postés
14
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
16 septembre 2010
-
Bonjour,

Voila mon soucis je dois créer un regex dans un script Php qui va chercher et remplacer dans une chaine de caractère certain des attributs font affectés à un élément de la chaine.

ex : Environnement CALME

donnerait =>
Environnement CALME

j'ai commencé par :
$regdeb='/^font-[family|size|size-adjust|stretch|variant](.+)\:(.+)[a-zA-Z0-9._-](.+)+;$/';

Mais mon $TxtOut = (preg_replace ($regdeb,'\\1', $tmp0)); ne me donne rien ...

Pourriez vous me conseiller svp ?

savoir, c'est vivre...
et maintenir dans l'ignorance c'est presque un homicide

8 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
ok pour les guillemets et le ; manquant, eventuellement.

\bfont-\w+:[^"]+?;

testé et fonctionne... et pas uniquement dans les balises font.

detecte TOUS les attributs font-

si tu veux les cibler, faire :

\bfont-(?:family|size|size\-adjust|stretch|variant):[^"]+?;


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
possible de faire :

\bfont-\w+:.+?;


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
14
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
16 septembre 2010

Bonjour renfield et merci pour ta réponse.

J'ai testé et : cela ne touche que et uniquement que les balise font, je cherche à pouvoir modifier certains des attributs liés au 'font' pas seulement aux balises
ex :

donc bien certains des attributs 'family|size|size-adjust|stretch|variant'
là dans ce cas 'font-style:italic' resterait seul dans la balise

de plus si les attributs recherchés se trouvent en fin de balise (ex : '<span style="font-family: verdana; font-size:19px"') il se peut que le ';' soit absent aussi devrai-je rechercher les attributs avec " comme dernier caractère et non plus ;


Tu comprends pourquoi je me prends la tête ? .

savoir, c'est vivre...
et maintenir dans l'ignorance c'est presque un homicide
Messages postés
14
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
16 septembre 2010

J'ai même testé ça et marche pas non plus :
$regdeb='/((^[font\-])+([family|size|size\-adjust|stretch|variant])+([\:| \:|\: ])+([a-zA-Z0-9 ._-])+(\;))$/';
<= y'plait bien celui là !


savoir, c'est vivre...
et maintenir dans l'ignorance c'est presque un homicide
Messages postés
14
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
16 septembre 2010

idem pour :

$regdeb='/^[font\-]+(([family|size|size\-adjust|stretch|variant])([:| :|: ])([a-zA-Z0-9 ,\.\_\-]))+\;$/';

là ! je me pose de sérieuses questions un neurone à lâché ? ?????

savoir, c'est vivre...
et maintenir dans l'ignorance c'est presque un homicide
Messages postés
14
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
16 septembre 2010

boulatator te remercie !

peux-tu m'expliquer :
1 - '(?:family ' => car là, je pense pas l'avoir vu quelque part il me semblait que [ | | ] s'occupait déjà de dire soit, soit , soit.
2 - ':[^"]+?; ' => là par contre j'ai du mal à déchiffrer.

En tous cas merci à toi
je crois qu'on a le luxe de pouvoir "savoir" tout en continuant "d'apprendre en permanence"

savoir, c'est vivre...
et maintenir dans l'ignorance c'est presque un homicide
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
[abc]
a ou b ou c

les | servent pas ici

mais pour des mots, on encadre pas avec des crochets

je borne avec des parentheses

?:

sert a dire de ne pas extraire ce groupe.

[^"]

tout caractère, sauf une guillement

+?

repeter (non grourmand) jusqu'au premier ; rencontré


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
14
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
16 septembre 2010

grand merci et comme le savoir c'est la partage, je viens d'en faire profiter un de mes potes qui galérait également sur une syntaxe similaire.

j'ai bon espoir de pouvoir un jour te renvoyer l'ascenseur.
merci encore

savoir, c'est vivre...
et maintenir dans l'ignorance c'est presque un homicide