Thread ganzer bereich aus html parsen (6 answers)
Opened by ptk at 2004-01-20 13:54

Crian
 2004-01-21 11:02
#79316 #79316
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Ja.

Code: (dl )
1
2
3
4
5
6
7
m~<span WASDIESENSPANEINDEUTIGMACHT>
  (
   (?:(?!</span>).)+
   |
   <span[^>]*>(?:(?!</span>).)+</span>
  )+
 ~x;


Schauen wir uns den Audruck einmal an.

<span WASDIESENSPANEINDEUTIGMACHT>

Er fängt mit dem eindeutig gekennzeichneten span an, wie der eindeutig ist, musst Du ja wissen, ev. über ein id="meinspan" oder wie auch immer.

Das was nun folgt wird in einer Klammer gefangen, damit es hinterher in der Variablen $1 steht.

Was darf nun hier folgen?

1) (?:(?!</span>).)+ Zeichen, die nicht der Anfang von "</span>" sind (das Plus dient nur zur Beschleunigung, falls es das wirklich tut...)

oder

2) <span[^>]*>(?:(?!</span>).)+</span> komplette in span-Tags eingeschlossene Ausdrücke (denn diese darf man ja schachteln).

Davon darf immer wieder 1 bis unendlich viele folgen.
Der Ausdruck wird aufhören, wenn er an das </span> des ursprünglichen (besonderen) span-Tags stößt, da das erste Zeichen davon ("<") weder auf die erste noch auf die zweite erlaubte Kategorie passt.

Alles klar?

Edit: Smilies ausgeschaltet\n\n

<!--EDIT|Crian|1074675770-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite

View full thread ganzer bereich aus html parsen