Hallo,
ich habe folgenden Code gefunden, um in PHP die ubb-Tags in einem Text in HTML-Codes umzusetzen:
function ubb($text) {
$tag['img'] = array('open'=>'<img src="','close'=>'">');
$tag['b'] = array('open'=>'<b>','close'=>'</b>');
$tag['i'] = array('open'=>'<i>','close'=>'</i>');
$tag['u'] = array('open'=>'<u>','close'=>'</u>');
$tag['url'] = array('open'=>'<a href="','close'=>'">\1</a>');
$stag['br'] = array('tag'=>'<br />');
$stag['hr'] = array('tag'=>'<hr />');
foreach($tag as $tagname=>$replace) {
$tagend = preg_replace('/\W/Ui','', $tagname);
$text = preg_replace("|[$tagname](.*)[/$tagend]|Ui","$replace[open]\1$replace[close]", $text);
}
foreach($stag as $tagname=>$replace) {
$text = preg_replace("|[$tagname]|Ui","$replace[tag]",$text);
}
return $text;
}
Funktioniert soweit wunderbar.
Mein Problem ist, dass ich mich kaum mit Regulären Ausrücken auskenne.
Jetzt bräuchte ich eine Funktion, die mir aus HTML-Tags ubb-Tags macht. D.h. aus <br /> wird [br]. Ich habe versucht, die ganze Sache umzudrehen, was aber nicht so ganz klappt. Z.B. funktioniert es mit dem XHTML-Schrägstrich wie z.B. in <hr /> nicht, da dort ein Leerzeichen enthalten ist.
Könnte mir da jemand auf die Schnelle helfen und ein Beispiel aufzeigen, wie ich es umwandeln kann?
Danke schon einmal im Voraus.
MfG