HTML Tabelle verarbeiten?!

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

  • HTML Tabelle verarbeiten?!

    also... ich will diesen HTML-Code einlesen:


    <TR>
    <TD WIDTH="3%"><B> Nr.</B></TD>
    <TD WIDTH="5%"><B>M.Nr.</B></TD>
    <TD WIDTH="18%"><B>Nachname, Vorname</B></TD>
    <TD WIDTH="21%"><B>Stra&szlig;e</B></TD>
    <TD WIDTH="16%"><B>PLZ + Ort</B></TD>
    <TD WIDTH="13%"><B>Telefon</B></TD>
    <TD WIDTH="7%"><B>Geburt</B></TD>
    <TD WIDTH="7%"><B>Eintritt</B></TD>
    <TD WIDTH="10%"><B>StV</B></TD>
    </TR>
    <TR>
    <TD WIDTH="3%"><B> Nr.</B></TD>
    <TD WIDTH="5%"><B>M.Nr.</B></TD>
    <TD WIDTH="18%"><B>Nachname, Vorname</B></TD>
    <TD WIDTH="21%"><B>Stra&szlig;e</B></TD>
    <TD WIDTH="16%"><B>PLZ + Ort</B></TD>
    <TD WIDTH="13%"><B>Telefon</B></TD>
    <TD WIDTH="7%"><B>Geburt</B></TD>
    <TD WIDTH="7%"><B>Eintritt</B></TD>
    <TD WIDTH="10%"><B>StV</B></TD>
    </TR>


    und so aufbereitet als string weiterverarbeiten können,
    wichtig sind hierbei die Zeilenumbrüche, damit ich einzelne Stellen später heraussuchen kann und mittels Array ausgeben kann:


    Code:
    Nr.; M.Nr.; Nachname, Vorname; Strasse; PLZ + Ort; Telefon; Geburt; Eintritt; StV;
    Nr.; M.Nr.; Nachname, Vorname; Strasse; PLZ + Ort; Telefon; Geburt; Eintritt; StV;


    ich habe schon ne menge versucht und komme auch mit dem aufteilen hin, allerdings setzt er mir am ende den Physikalischen Zeilenumbruch nicht mehr... nur noch das \r\n als Text!

    Hier mein PHP dazu:


    PHP:

    <?php

    $filename = "test.html";

    $fp = fopen($filename, "r+");
    $dokument = fread($fp, filesize($filename));
    $dokument=preg_replace('<</TD>>', ';', $dokument);
    $dokument=preg_replace('<<TR>>', 'umbruch', $dokument);

    $suche = array ('@<script[^>]*?>.*?</script>@si', // JavaScript entfernen
    '@<[\/\!]*?[^<>]*?>@si', // HTML-Tags entfernen
    '@([\r\n])[\s]+@', // Leerräume entfernen
    '@&(quot|#34);@i', // HTML-Entitäten ersetzen
    '@&(amp|#3;@i',
    '@&(lt|#60);@i',
    '@&(gt|#62);@i',
    '@&(nbsp|#160);@i',
    '@&(iexcl|#161);@i',
    '@&(cent|#162);@i',
    '@&(pound|#163);@i',
    '@&(copy|#169);@i',
    '@&#(\d+);@e'); // als PHP auswerten

    $ersetze = array ('',
    '',
    '\1',
    '"',
    '&',
    '<',
    '>',
    ' ',
    chr(161),
    chr(162),
    chr(163),
    chr(169),
    'chr(\1)');

    $text = preg_replace($suche, $ersetze, $dokument);
    $text=preg_replace('/\r\n|\r|\n/', ';', $text);
    $text=preg_replace('/umbruch/', '\r\n', $text);
    $text = nl2br($text);
    echo $text;

    ?>



    langsam drehe ich durch...
    Danke für jeden Tipp, vielleicht bin ich auch voll auf dem falschen Weg?!

    Gruß
    Andi

  • #2
    steuerzeichen werden nicht in ' ' interpretiert, in " " schon.
    ansonsten setze chr(10) + chr(13) ein.

    btw: warum nutzt du nicht strip_tags()?
    Kissolino.com

    Kommentar


    • #3
      danke... das wars!

      was hätte ich für einen Vorteil mit strip_tags()?

      ich muss mit dem befehl später mal mehrere Dateien auf einmal einlesen, nach einem "Suchwert" durchsuchen und die Daten aufgeteilt, teilweise wieder darstellen...
      bin ich so auf dem falschen weg?!

      gibt sicher ne saubere lösung... nur mit meinem horizont komme ich nur auf das :-(

      Kommentar

      Lädt...
      X