HAllo,
ich plage mich den regulären Ausdrücken und mit der PHP-Funktion preg_replace herum.
Sinn ist es, einen kleinen Parser zu schreiben, der mir UBB-Tags wie hier im Forum durch
HTML-Tags ersetzt.
Das klappt auch super
. Allerdings will ich auch, wenn kein [
URL]-Tag vorhanden ist, dass eine
URL die mit http:// anfängt geparst wird.
Das ist allerdnigs schwieriger als man denkt, da schon umgewandelter Code nochmal umgewandelt wird.
Hier mal der Source:
Code:
/* [
url]http;//www.ttt.de[/
url] */
$text = preg_replace("/\[
url\]http:\/\/(.*?)\[\/
url\]/si", "[
url="http://\\1"]http://\\1[/
url]", $text);
/* [
url]www.ttt.de[/
url] */
$text = preg_replace("/\[
url\](.*?)\[\/
url\]/si", "[
url="http://\\1"]http://\\1[/
url]", $text);
/* [
url]http://www.ttt.de[/
url] */
$text = preg_replace("/\[
url=www(.*?)\](.*?)\[\/
url\]/si", "[
url="http://www\\1"]\\2[/
url]", $text);
/* [
url=http://www.test.de]test[/
url] */
$text = preg_replace("/\[
url=(.*?)\](.*?)\[\/
url\]/si", "[
url="\\1"]\\2[/
url]", $text);
/* [
url]http://www.tset.de[/
url] (ohne
url-tag) */
$text = preg_replace("/\[^\]]http:\/\/(.*?)[^x] /si", "[
url="\\1"]\\2[/
url]", $text);
Wie gesagt: Beim letzten fehlen mir Ideen wie ich das parsen könnte. Könnt ihr mir helfen?