Klasse/Tag auslesen
ich
- php
hallo!
in meinen html dateien ist eine zeile, die ca so aussieht:
<TD WIDTH=464 HEIGHT=15 align="left" valign="top" bgcolor="#E1E1E1" class="ueberschrift_inhalt">zu-ermittelnder-text:</TD>
das "class="ueberschrift_inhalt"" ist sogesehen nur bei solchen überschriften dabei.
nun ist meine frage: wie kann ich den 'zu-ermittelnden-text' herausbekommen?
danke!
Hi,
in meinen html dateien ist eine zeile, die ca so aussieht:
<TD WIDTH=464 HEIGHT=15 align="left" valign="top" bgcolor="#E1E1E1" class="ueberschrift_inhalt">zu-ermittelnder-text:</TD>
mit regular Expressions:
du suchst praktisch nach <td [beliebihger Inhalt] class="ueberschrift_inhalt" [beliebihger Inhalt] > [beliebihger Inhalt] </td>
suchen solltest Du nicht Case-Sensitiv und mehrzeilig
http://de.php.net/manual/de/function.preg-match-all.php
http://de.php.net/manual/de/pcre.pattern.modifiers.php
http://de.php.net/manual/de/pcre.pattern.syntax.php
ciao
romy
preg_match_all ('#<td.*class="ueberschrift_inhalt".*>(.*)</td>#i', $datei_inhalt, $ueberschrift); echo "<textarea>".$ueberschrift[0][0]."</textarea>";
Hi,
preg_match_all ('#<td.*class="ueberschrift_inhalt".*>(.*)</td>#i', $datei_inhalt, $ueberschrift); echo "<textarea>".$ueberschrift[0][0]."</textarea>";
was geht nicht?
Was steht denn drin in $ueberschrift[0][0] bzw. in
$ueberschrift[0][1]
oder überhaupt:
echo var_dump($ueberschrift);
???
müssen die .* nach dem td und vor dem schliessenden Tag nicht auch in Klammern?
ciao
romy
jetz hab ich es so geändert:
preg_match_all ('#<td(.*)class="ueberschrift_inhalt"(.*)>(.*)</td>#i', $datei_inhalt, $ueberschrift);
echo var_dump($ueberschrift);
das liefert dieses ergebnis:
array(4) { [0]=> array(0) { } [1]=> array(0) { } [2]=> array(0) { } [3]=> array(0) { } }
so wie ich den text verstanden habe, sollte nun der gesuchte wert in $ueberschrift[1][0] zu finden sein.
das ist er leider nicht :-(
Holladiewaldfee,
preg_match_all ('#<td.*class="ueberschrift_inhalt".*>(.*)</td>#i', $datei_inhalt, $ueberschrift);
Ein regulärer Ausdruck ist von Anfang an erstmal "gierig". D.h.: .* frißt Dir den gesamten Text bis zum Ende. Du brauchst also noch den Modifier "U".
Ciao,
Harry