tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
189
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Pseudo123 Pseudo123 ist offline Grünschnabel
    Registriert seit
    Jun 2009
    Beiträge
    1
    Hallo,

    leider konnte ich bis jetzt keine saubere Lösung entwickeln.

    Pattern: /([^<]+)|(?:<.*?class=([^ ]+).*?>(\w+)(<.*?class="([^ ]+?)".*?>(\w+?)<.*?>(\w+).*)*)/x
    Haystack 1: <td class=x123 style='border-top:none;border-left:none'>abc<font class="font6">def</font><font class="font7">ghi</font>xxx</td>
    Haystack 2: <td class=x123 style='border-top:none;border-left:none'>abc<font class="font6">def</font></td>
    Haystack 3: <td class=x123 style='border-top:none;border-left:none'>abc</td>

    Gewünschtes Resultat bei Haystack 1:
    $font[0]['font'] = 'x123';
    $font[0]['text'] = 'abc';
    $font[1]['font'] = 'font6';
    $font[1]['text'] = 'def';
    $font[2]['font'] = 'font7';
    $font[2]['text'] = 'ghi';
    $font[3]['font'] = 'x123';
    $font[3]['text'] = 'xxx';

    Wie muss mein Pattern aussehen?

    Es geht um eine Erweiterung der Anwendung, bin somit auf die regulären Ausdrücke angewiesen und habe keine Möglichkeit DOM zu verwenden, vielen Dank.

    Viele Grüße
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Reguläre Ausdrücke eignen sich nicht, um eine kontextfreie Sprache wie HTML zu parsen. Verwende lieber einen richtigen Parser wie DOMDocument und dessen loadHTML()-Methode.
     
    Markus Wulftange

Ähnliche Themen

  1. HTML Code ersetzen mit regulären Ausdrücken
    Von xwinge im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 01.03.09, 09:09
  2. Antworten: 5
    Letzter Beitrag: 22.08.08, 16:45
  3. HTML parsen mit Regulären Ausdrücken
    Von Ortwin1st im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 15.07.08, 21:20
  4. Text parsen mit regulären Ausdrücken
    Von notebook20000 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 04.04.07, 11:41
  5. Antworten: 9
    Letzter Beitrag: 12.07.02, 16:32