PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] BB Code auslesen


Durcairion
2004-06-13, 14:20:02
$text = eregi_replace("\\[URL=\"([^\"]*)\"\\]([^\\[]*)\\[\\/url\\]","<a class=\"content\" href=\"\\1\" target=_blank>\\2</a>",$text);

$text = eregi_replace("\\[URL=([^\"]*)\\]([^\\[]*)\\[\\/url\\]","<a class=\"content\" href=\"\\1\" target=_blank>\\2</a>",$text);

Bei nur 1 Link im Text funktioniert alles prima.

Allerdings, sobald ein 2. Link hinzugefügt wird, steht an der Stelle des 1. Links der Namen des 2. und der Text zwischen dem 1. und 2. Link fehlt einfach.

Kann mir wer weiterhelfen?

clm[k1]
2004-06-13, 21:11:48
bin jetzt zu faul den fehler bei dir zu suchen, aber ich hab das ganze so gelöst:

$str = preg_replace("/\/si", "<a href=\"\\1\" target=\"_blank\">", $str);
$str = str_replace("", "</a>", $str);


gruß
clm[k1]

Durcairion
2004-06-14, 01:08:41
Original geschrieben von clm[k1]
bin jetzt zu faul den fehler bei dir zu suchen, aber ich hab das ganze so gelöst:

$str = preg_replace("/\/si", "<a href=\"\\1\" target=\"_blank\">", $str);
$str = str_replace("", "</a>", $str);


gruß
clm[k1]

Also wenn ich das von dir einbaue und dein "link" in "URL" abändere, wird einfach nur der BBCode so ausgegeben wie er in der DB steht.

Also als [*URL=http://www.abc.de]www.abc.de[/URL*]

PS: Die * wurden eingefügt damit das Forum es nicht als Link ausgibt ;)

MadMan2k
2004-06-15, 22:32:40
meins:


$str = preg_replace('#\\[url=(.*)\\](.*)\\[/url\]#Uis', '<a href="\\1">\\2</a>', $str);


:)

MadMan2k
2004-06-15, 22:33:39
.