Regex zwischen Zeichen und Ende des Strings

DarkRaver

Erfahrenes Mitglied
Hallo,
ich kenne ja die normale Regex, beispielsweise ">(.+)<" um zwischen den Tags auszulesen. Nun tut sich aber folgendes Problem auf:
Code:
<font xyz="xyz">Test123<font zyx="zyx">Test456
Und ab da ist Ende von dem String, warum keine schließenden Tags hat tiefere Gründe. Ich benötige nun eine Regex die mir "Test123" und "Test456" matcht.
Ich hoffe ihr könnt mir dabei helfen.
 
Soa ganze auf die Schnelle. Mit preg_repalce() die Tags durch ein trennzeichen ersetzen, mit explode() in einen Array schmeissen, mit array_filter() leere Einträge entfernen - fertig

PHP:
$subject = '<font xyz=\"xyz\">Test123<font zyx=\"zyx\">Test456';

define('C_PATTERN', '/(<[^>]+>)/U');
define ('C_DELEMITER', '#delemiter#');
$result = preg_replace(C_PATTERN, C_DELEMITER, $subject); 
$items = array_filter(explode(C_DELEMITER, $result));
print_r($items);
Ergibt:
Code:
Array
(
    [1] => Test123
    [2] => Test456
)

Es gibt sicher noch elegantere Lösungen
 
Vielen Dank!
Läuft wunderbar, genau wie ich es möchte. Da die Funktion dynamisch mit unterschiedlichsten Strings verwendet wird hab ich noch ein addslashes hinzugefügt.
 
Zurück