Moin Moin, ich hab ein kleines Problem.
Ich hab aus einer alten Seite einige HTML-Tabellen, die alle hintereinander angelegt sind. Haben auch alle den gleichen Aufbau:
Da es verdammt viele Tabellen sind und ich keinen Bock habe alles per Hand zu machen würde ich gerne das ganze einmal automatisiert auslesen und in eine DB eintragen.
Ich habe das ganze rauskopiert und einfach mal in eine Variable geschrieben und wollte dann mit einem regulären Ausdruck das ganze Stück für Stück aufbröseln.
Mein Code sieh so aus:
So hat zufällig jemand ne Idee, warum meine Pattern abgeschnitten dargestellt werden? Oder habe ich einfach einen Fehler im regulären Ausdruck?
Ich hab aus einer alten Seite einige HTML-Tabellen, die alle hintereinander angelegt sind. Haben auch alle den gleichen Aufbau:
Code:
<table cellpadding="3"> <tbody> <tr><td>1.</td><td>Name1</td><td>Vereinsname</td><td>3 Punkte</td></tr> <tr><td>2.</td><td>Name2</td><td>Vereinsname</td><td>3 Punkte</td></tr> </tbody> </table> <table cellpadding="4"> <tbody> <tr><td>1.</td><td>Name1</td><td>Vereinsname</td><td>6 Punkte</td></tr> <tr><td>2.</td><td>Name2</td><td>Vereinsname</td><td>5 Punkte</td></tr> <tr><td>3.</td><td>Name3</td><td>Vereinsname</td><td>4.5 Punkte</td></tr> </tbody> </table>
Ich habe das ganze rauskopiert und einfach mal in eine Variable geschrieben und wollte dann mit einem regulären Ausdruck das ganze Stück für Stück aufbröseln.
Mein Code sieh so aus:
PHP-Code:
<?php
error_reporting(-1);
$var = '...'; // hier stehen meine Tabellen drin.
// Um den Text zu verkürzen habe ich es weggelassen
$matches = array();
$start = '<table(.*?)>'; // Auch probiert mit: '\<table(.*?)\>'
$end = '<\/table>';
$pattern = '!' . $start . '(.*)' . $end . '!';
echo $pattern.'<br />'; // Ausgabe: !(.*)<\/table>!
preg_match_all($pattern, $var, $matches);
var_dump($matches); // Keine Treffer, ist ja aber auch klar.
?>
Kommentar