Regexp und XML

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Regexp und XML

    Hallo

    Ich habe mir eine XML-Parser Klasse geschrieben. Diese Funktioniert auch soweit bis auf ein einziges Problem.

    Beim einlesen der Datei verwende ich diesen Pattern-Syntax:

    @<([A-Za-z0-9-_]+?)(.*)>(.*)<\/\\1>@Us

    Das Problem ist aber wenn ich in einem Attribut ein '>' Zeichen verwende dann werden diese nicht Richtig eingelesen. Hat vielleicht jemand eine Idee wie ich das lösen kann.

    Funktionert
    PHP-Code:
    <utext>
    Hier zählen die gleichen Punkte wie unter <ulink UNAME="Kunden - hinzufügen" UURL="#2"></ulink>
    </
    utext
    Funktionert nicht
    PHP-Code:
    <utext>
    Hier zählen die gleichen Punkte wie unter <ulink UNAME="Kunden -> hinzufügen" UURL="#2"></ulink>
    </
    utext

    Mfg Akkie
    Zuletzt geändert von ; 11.02.2005, 13:00.

  • #2
    und warum nimmst du das Zeichen nicht in die zulässigen Liste auf?

    Kommentar


    • #3
      Hi

      Das sind 3 Subpaterns.

      //1 ulink
      //2 UNAME="Kunden - hinzufügen" UURL="#2"
      //3 In diesem Fall lehr

      Die Liste die du meinst beschreibt Pattern //1 und nicht //2. Das Problem ist das das > Zeichen auch das Ende-Zeichen eines Tags ist.

      Mfg Akkie

      Kommentar


      • #4
        Hi

        Falls jemand mal das gleiche Problem hat hier die Lösung.

        '@\s*<\s*([^\s>]+)([A-Za-z0-9_-\s]*\s*=\s*[\'|"]*\s*[^\\1]+?[\'|"])?>(.*?)<\s*\/\\1\s*>\s*@s'

        Mfg Akkie
        Zuletzt geändert von ; 14.02.2005, 09:11.

        Kommentar

        Lädt...
        X