Hallo Leute,
Nabend
ich mühe mich ab mit preg_match_all. Das sah so einfach aus.
Was ist falsch an der Funktion?
function get_rows($data)
{
preg_match_all ("|<tr>\s*(.*)\s*</tr>|U",$data,
$out[],PREG_PATTERN_ORDER);if (!is_array($out)) return false;
$ret = array();
foreach ($out as $line)
{
$ret[] = $line[1][0];
}
return $ret;
}Ich will nun nach und nach eine Tabelle auseinandernehmen. Könnt Ihr mir helfen?
function get_rows($data)
{
preg_match_all ("|<tr>\s*(.*)\s*</tr>|U",$data,$out[],PREG_PATTERN_ORDER);
if (!is_array($out)) return false;
$ret = array();
foreach ($out[0][0] as $line) {
$ret[] = $line;
}
}
Dies speichert jeweils den Inhalt zwischen "<tr>" und "</tr>" in $ret.
Sieht $data z.B. so aus:
$data = "<tr>blhahh</tr>\n<tr>jldhfjhj2</tr><tr>jdhfh3</tr>";
...dann wäre eben
in $ret[0] = "blhahh"
in $ret[1] = "jldhfjhj2"
in $ret[2] = "jdhfh3"
Mal davoin abgesehen, diese Funktion da, ...dein $ret-Array ist nach dem Funktionsausruf wieder weg (nur bevor du ectl. aus diesem Grunde wieder posten solltest), denn ich möcht ja NICHT annehmen, dass $ret eine globale Variable ist ;o)...
Mal davon abgesehen.. die ausgebesserte Funktion geht bei mir ohne Probleme.
Grüße
dito.
Tom
wfux