Sed enlever des balises

Résolu
tlep Messages postés 597 Statut Membre -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrais simplement enlever des balises html d'une page:
<table><tr><td>Bonjour</td></tr></table>

Pour récupérer "Bonjour"

J'ai essayé sed 's/\<.*\>//g' mais ca marche po.

je suis toujours aussi nul en sed :-))

Merci
Configuration: Windows XP
Firefox 2.0.0.3

3 réponses

  1. tlep Messages postés 597 Statut Membre 118
     
    Finalement c bon :

    sed s/"<[^>]*>"/""/g

    ;-)
    3
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Sinon :
     sed 's|</.*>||;s|<.*>||'
    On n'est pas obligé de prendre le "/" comme séparateur... Pour ta solution ça donne :
     sed 's|<[^<]*>||g'
     sed 's%<[^<]*>%%g'
     sed 's=<[^<]*>==g'
    ;-))
    2
    1. alex
       
      excuse mais est ce que tu pourrai juste expliquer ce que fait chaque lettre de la ligne ? histoire que j'essaye de comprendre pourquoi sa sa enleve les balises merci =)
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      sed 's/<[^>]*>//g'


      <
      On cherche un motif qui commence par un chevron ouvrant


      [^>]*
      Suivi de 0, un ou plusieurs caractères à l'exception du caractère ">" (chevron fermant).

      Le "[^>]*" remplace le ".*" normalement employé pour définir la regex 0, un ou plusieurs caractères, et nous sert donc à s'arrêter juste avant de trouver ce caractère (>)


      >
      Qui se termine par un chevron fermant
      0
  3. lily
     
    moi j'ai essayé ce que vous dites et ça ne marche pas^^
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      T'as essayé quoi sur quoi ?
      0