lørdag, januar 23, 2021

Regex: Udtræk html tag

Daily Rush Debat Programmering Regex: Udtræk html tag

  • Forfatter
    Emne
  • #0

    Barnebarn
    Bruger
    2.075 indlæg
    Offline

    Sidder og prøver, hvad jeg troede ville være relativt nemt, at udtrække HTML-tag navnet fra et html tag.

    Fx. Jeg har tagget:

    <p class=”normal”>

    Jeg ønsker at få “p” tilbage (altså tag navnet/typen).

    Hvordan laver jeg en Regex som kan det ud fra et hvilket som helst tag (start eller slut tag).

    Flere eksempler:

    <table cellspacing=”0″…> -> table
    </p> -> p
    <div class=”blabla”> -> div

    Jeg er altid frisk på en diskussion. Vi kan starte med at tage udgangspunkt i det du mener - jeg mener så det modsatte!

Viser 12 kommentarer - 1 til 12 (af 12 i alt)
  • Forfatter
    Kommentarer
  • #1

    hausner
    Moderator
    17.185 indlæg
    Offline
    #2

    Holger-IST-
    Bruger
    6.970 indlæg
    Offline

    hm.. dette var lige så tæt på jeg kunne komme sådan hurtigt (den henter desværre alt ud, så den vil også hente class etc):

    /?(\w+)(\s+\w+=(\w+|”[^”]*”|'[^’]*’))*

    fandt den her og tilpassede den lidt:
    http://regexlib.com/Search.aspx?k=html%20tag

    er desværre ikke den store haj til regex endnu…

    kan testes her:
    http://regexlib.com/RETester.aspx

    - Holger "A woman drove me to drink and I didn't even have the decency to thank her." - W. C. Fields

    #3

    Barnebarn
    Bruger
    2.075 indlæg
    Offline

    #1

    Har kigget der – men ikke den løsning jeg leder efter?

    #2

    Sgu mange gode der – men ingen af dem ser ud til at give det, som jeg leder efter.

    Men jeg har næsten lavet en løsning ud fra nogen af dem… skal bare lige finpudses lidt.

    Tak.

    Jeg er altid frisk på en diskussion. Vi kan starte med at tage udgangspunkt i det du mener - jeg mener så det modsatte!

    #4

    Taager
    Bruger
    5.434 indlæg
    Offline

    Brrr regex :S Magen til genialt lort finder man ikke andre steder.. :S

    KIG VÆK! Det smitter!

    #5

    EvilDonut
    Bruger
    5.586 indlæg
    Offline

    Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.

    *fnis*

    One Donut to rule them all, One Donut to find them,
    One Donut to bring them all and in the darkness bind them

    #6

    hausner
    Moderator
    17.185 indlæg
    Offline

    #3

    Der bliver da fint udtrukket i det regex jeg linkede til. Så jeg skulle da mene det var præcis hvad du ledte efter

    Planter er fascinerende

    #7

    snowball42
    Bruger
    1.389 indlæg
    Offline

    http://www.ultrapico.com/Expresso.htm jeg kan kun anbefale expresso hvis du skal lave lidt regex, jeg brugte det selv da jeg skulle laere at bruge regex. Det er lidt nemmere at faa en forklaring paa hvordan det virker.

    Er der foroevrigt nogen der kan fortaelle mig hvorfor min firefox 3.5 er begyndt ikke at kunne skrive danske tegn mere?

    Lidt som om den har f[et engelsk tegns;t, men jeg kan ikke finde et sted at ;ndre det.

    #8

    Holger-IST-
    Bruger
    6.970 indlæg
    Offline

    #5:
    hehe …

    - Holger "A woman drove me to drink and I didn't even have the decency to thank her." - W. C. Fields

    #9

    Barnebarn
    Bruger
    2.075 indlæg
    Offline

    #6

    Jeg kan ikke få det til at virke.

    Det skal jo være dynamisk – så den bare giver mig tagget tilbage uden at jeg skal definere hvilket.

    Jeg er nemlig ligeglad med hvilket tag jeg får tilbage.

    Mit program er en udvidelse til vores xhtml converter, som ikke virker godt nok og laver invalid xhtml kode i Rich Text Editoren…

    Jeg skal derfor gennemgå alle tags og checke dem imod hinanden og indtil nu virker det fino nok – bortset fra at jeg fx. kan få:

    og bagefter

    Det er ikke valid xhtml fordi 2 p-tags ikke kan følge hinanden – men jeg kan heller ikke sammenligne de to tags – før jeg har strippet dem begge så jeg kan se om

    ==

    Hvis det gav mere mening

    Jeg er altid frisk på en diskussion. Vi kan starte med at tage udgangspunkt i det du mener - jeg mener så det modsatte!

    #10

    JaPeX
    Bruger
    2.054 indlæg
    Offline

    < ([^ \r\n>]*)\b.*>

    Din $1 fra ovenstående vil være det du beder om – jeg har ikke testet det, men er 100 på det virker – problemet er blot at den kun giver dig det første tag i hver linje den matcher

    Karl Pilkington has got a head like a fucking orange.

    #11

    Barnebarn
    Bruger
    2.075 indlæg
    Offline

    #10

    Den virker – det er lige det jeg ledte efter.

    Fedt nok, tak!

    Jeg er altid frisk på en diskussion. Vi kan starte med at tage udgangspunkt i det du mener - jeg mener så det modsatte!

    #12

    Munter
    Bruger
    2.473 indlæg
    Offline

    Hvis det er validering du skal lave, så glemt alt om regexer. Du skal bruge noget der faktisk kan parse html’en og derefter arbejde på DOM-strukturen. Alt andet vil altid være fyldt med fejl.

    "Everybody wants to laugh but nobody wants to cry, Everybody wants to go to heaven... but nobody wants to die!"--Larry Howard

Viser 12 kommentarer - 1 til 12 (af 12 i alt)
  • Du skal være logget ind for at kommentere på dette indlæg.