Lieber Nullpeiler,
die Variable $treffer bleibt leer ...
das bedeutet ein if-Zweig der Art if (empty($treffer)) { melde_fehler(); }
würde ausgelöst werden?
und außerdem Felix kann $treffer nciht angezeigt werden mit Deiner Version weil es ein arry ist, nur $treffer[x][y]
wird belegt, aber in diesemfall halt nicht ...
Du kennst print_r() noch nicht?
gibt es noch einen weg den Wert zwischen
"><div>
Diesen Text hier <br>
inkl. den <br>
</div>
auszulesen ?
Dein String sah vorher aber anders aus! Jetzt hat das <div>-Element keine Klasse "reader" mehr, und das vorhergehende Element muss also irgendein Attribut gehabt haben... Das sind veränderte Anforderungen, auf die man ein neues Muster schreiben müsste!
Damit Du siehst, dass Du schon ein bisschen mitdenken musst, habe ich Dir etwas zusammengebastelt:
$html = '<!-- Anfang eines semantisch höchst fragwürdigen HTML-Codes -->
<div class="rbb2cu">
<div class="reader">
Diesen Text hier <br>
inkl. den <br>
</div>
</div>
<!-- Ende eines semantisch höchst fragwürdigen HTML-Codes -->';
if (preg_match_all('@(?s)rbb2cu">[\r\n\t ]*<div class="reader">(.*?)</div@',$html, $treffer)) {
echo "<pre>", print_r($treffer, true), "</pre>";
} else {
echo "<pre>Kein Match!</pre>";
}
Obiger Code ist getestet und liefert das gewünschte Ergebnis.
Liebe Grüße,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)