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ß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ß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
<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ß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ß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
Kommentar