IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

attributs font, regex help ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 32
    Par défaut attributs font, regex help ?
    Le retour de boulatator

    Bonjour,

    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 :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <span style="font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 9px;">Environnement CALME</span>
    donnerait =>
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <span style="">Environnement CALME</span>
    (notez que je supprime le style="", s'il est vide )

    J'ai choisi une balise span afin d'insister sur le fait que :
    je ne cherche pas à vider les balises font, mais bien m'occuper de tous les attributs 'font-[-family|-size|-size-adjust|-stretch|-variant]' présents dans toutes les balises contenues dans ma chaine.
    De plus, ce sont bien uniquement ces attributs et pas d'autre comme 'font-style' sur lesquelles je souhaite opérer.

    on m'a conseiller '/\bfont-\w+:.+?;/' => seules les balises font sont à présents vides ! même celles ne comportant que font-style !

    dernier point et non des moindres : 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 ';'

    j'ai actuellement cessé de tester avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $regdeb='/^[font\-]+(([family|size|size\-adjust|stretch|variant])([:| :|: ])([a-zA-Z0-9 ,\.\_\-]))+\;$/';
     
    $TxtOut = (preg_replace ($regdeb,'\\1', $tmp0));
    en vain.
    Pourriez vous me conseiller svp ? je pense tout de même ne pas être trop loin de la lumière à moins qu'une persistance rétinienne ne m'illusionne

  2. #2
    Membre confirmé Avatar de Mitaka
    Profil pro
    formaTRICE en informatique
    Inscrit en
    Avril 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : formaTRICE en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 192
    Par défaut
    salut
    j'ai pas vraiment compris ce que tu voulais faire
    mais en gros pour récupérer chaque valeur compris dans les attributs
    les attributs 'font-[-family|-size|-size-adjust|-stretch|-variant]', tu peux utiliser la fonction preg_match_all :
    $html = '<span style="font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 9px;">Environnement CALME</span>';
    $regdeb = '/\bfont-(family|size|size-adjust|stretch|variant).+?)[;"]/';

    preg_match_all ($regdeb,$html, $txtOut);

    print_r($txtOut[2]);
    ensuite, il faudra reconstruire ta chaîne $html pour remplacer ce que tu veux.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 32
    Par défaut
    Merci beaucoup de ton intérêt et de ta réponse.

    En fait il ne me semblait pas avoir posté 2 fois le même sujet aussi, j'y avais déjà trouvé une solution dans le sujet :

    regex : attribut font, svp
    Cependant merci à toi et bonne journée.

Discussions similaires

  1. [RegEx] regex : attribut font, svp
    Par Ronin dans le forum Langage
    Réponses: 1
    Dernier message: 19/05/2010, 11h04
  2. incomprehension regex help
    Par Melvine dans le forum Langage
    Réponses: 5
    Dernier message: 16/01/2009, 21h48
  3. Attribut font-size non pris en compte dans un tableau
    Par malta dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 20/09/2008, 13h58
  4. [DOM] RegEx - Suppression d'attributs dans une balise
    Par jumbay dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 17/10/2007, 20h40
  5. comment changer d'attribut de fonte dans un Tlabel?
    Par sb dans le forum Composants VCL
    Réponses: 3
    Dernier message: 21/08/2002, 16h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo