Regex - Leere BB Tags

SkriptSuppe

Grünschnabel
Hallo

ich versuche momentan ein Regex zu schreiben welches leere BB Tags löscht. Bis zu einem Grad funktioniert das auch, nämlich bei einfach leeren Tags...(Läst sich aber hier nicht schreiben, da leere BB Tags auch hier gelöscht werden)

<?php
$b = '[a]test[/a]'; // ergibt [/a] soll aber [a]test[/a] ergeben
echo preg_replace('/\[(.*?)]\[\/(.*?)]/si', '', $b);
?>

Ich komme einfach nicht weiter... Könnt ihr mir helfen ?

Danke !

mfg
 
Zuletzt bearbeitet:
Was verstehst du denn unter einem leeren Tag?

Tut mir leid, das war ein dummes Beispiel. Das "a" sollte da nichts zu suchen haben. Unter einem leeren Tag verstehe ich, dass nichts zwischen den Tags steht immer von der Mitte aus gesehen

a b b a

Aber das zu verarbeiten lässt sich nur mit mehren Durchläufen realisieren. Oder sehe ich das falsch ?
 
Dann musst du das Ganze mehrfach anwenden:
PHP:
while (preg_match('/\[([^\]]+)]\[\/\\1]/s', $str)) {
	$str = preg_replace('/\[([^\]]+)]\[\/\\1]/s', '', $str);
}
 

Neue Beiträge

Zurück