Liebe Selfer,
ich habe meine regex in den Griff bekommen:
$tag = "span";
$suchmuster = '/(?i)<'.$tag.'>((?:(?!</'.$tag.'>)(?:.))*)</'.$tag.'>/';
Dieser Ausdruck filtert alles zwischen einem öffnenden und einem schließenden Tag und stellt dabei sicher, dass dazwischen kein weiteres schließendes Tag desselben Typs steht. Damit werden zuverlässig Folgen von z.B. <span>...</span>.....<span>......</span>..<span>.................</span> erkannt, ohne eine Gruppe aus <span> und </span> auszulassen.
Anmerkung: Die Tags dürfen für dieses Suchmuster keinerlei Attribute (z.B. class="xyz") enthalten!
Liebe Grüße aus Ellwangen,
Felix Riesterer.