BBCode

ciberjoerg

Erfahrenes Mitglied
ich versuche eben einen BB Code für links zu erstellen, das ganze läuft über eregi_replace.

Mein Code gekürzt:
PHP:
function bbcode ($entry) {
    
global $query,$result2,$connect,$replace,$table_smilies;
$entry = eregi_replace("
","",$entry);
$entry = eregi_replace("\[url=([^\[]+)]([^\[]+)\[/url\]","<a href=\"\\1\" target=\"_blank\">\\2</a>",$entry); //So gehts!
$entry = eregi_replace("http://([^\[]+) ","<a href=\"http://\\1\" target=\"_blank\">\\1</a>",$entry); //geht nich
$entry = eregi_replace("www.([^\[]+) ","<a href=\"http://www.\\1\" target=\"_blank\">\\1</a>",$entry); //geht nicht
return $entry; } 
?>
Der Codeteil ([^\[]+) ist der platzhalter für den Inhalt. Beispielt:
wenn ich nun einen link mit www oder http eingebe soll mir automatisch ein anklickbarer Link erstellt werden.
Im moment wird mir aber jeder darauf folgender text auch zum Link.
z.b.
www.darkbase.net ist mein link
wird zu
www.darkbase.net ist mein link

Wie kann ich das ganze so umschreiben das es richtig funktioniert?
 
Danke hab das inzwischen so gelöst, doch jetzt hab ich ein anderes Problem
PHP:
$entry = ereg_replace("[a-zA-Z]+://([.]?[a-zA-Z0-9_/-])*", "<a href=\"\\0\" target=\"_blank\">\\0</a>",$entry);
$entry = ereg_replace("(^| )(www([.]?[a-zA-Z0-9_/-])*)", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>",$entry);

Nun beist sich das mit dem Bereich für Youtube Videos und den Bildern.

PHP:
$entry = eregi_replace("\[yt\]([^\[]+)\[/yt\]","<object width=\"320\" height=\"200\"><param name=\"movie\" value=\"\\1&hl=de_DE&fs=1&rel=0\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"\\1&hl=de_DE&fs=1&rel=0\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"320\" height=\"200\"></embed></object>",$entry);
bilder:
PHP:
$entry = eregi_replace("\[img\]([^\[]+)\[/img\]","<img src=\"\\1\" border=\"0\">",$entry);
$entry = eregi_replace("\[imgw=([^\[]+)\]([^\[]+)\[/img\]","<a rel=\"example_group\" href=\"\\2\"><img alt=\"example_group\" width=\"\\1\" src=\"\\2\" border=\"0\"></a>",$entry);

mal der gesamte code:
PHP:
<?

function bbcode ($entry) {
	
global $query,$result2,$connect,$replace,$table_smilies;
$entry = eregi_replace("
","<br>",$entry);
$entry = eregi_replace("\[b\]([^\[]+)\[/b\]","<b>\\1</b>",$entry);
$entry = eregi_replace("\[center\]","<center>",$entry);
$entry = eregi_replace("\[/center\]","</center>",$entry);
$entry = eregi_replace("\[i\]([^\[]+)\[/i\]","<i>\\1</i>",$entry);
$entry = eregi_replace("\[u\]([^\[]+)\[/u\]","<u>\\1</u>",$entry);
$entry = eregi_replace("\[img\]([^\[]+)\[/img\]","<img src=\"\\1\" border=\"0\">",$entry);
$entry = eregi_replace("\[imgw=([^\[]+)\]([^\[]+)\[/img\]","<a rel=\"example_group\" href=\"\\2\"><img alt=\"example_group\" width=\"\\1\" src=\"\\2\" border=\"0\"></a>",$entry);
$entry = eregi_replace("\?v=","/v/",$entry);
$entry = eregi_replace("\[yt\]([^\[]+)\[/yt\]","<object width=\"320\" height=\"200\"><param name=\"movie\" value=\"\\1&hl=de_DE&fs=1&rel=0\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"\\1&hl=de_DE&fs=1&rel=0\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"320\" height=\"200\"></embed></object>",$entry);
$entry = eregi_replace("\[url\]([^\[]+)\[/url\]","<a href=\"\\1\" target=\"_blank\">\\1</a>",$entry);
$entry = eregi_replace("\[url=([^\[]+)]([^\[]+)\[/url\]","<a href=\"\\1\" target=\"_blank\">\\2</a>",$entry);
												 
$entry = ereg_replace("[a-zA-Z]+://([.]?[a-zA-Z0-9_/-])*", "<a href=\"\\0\" target=\"_blank\">\\0</a>",$entry);
$entry = ereg_replace("(^| )(www([.]?[a-zA-Z0-9_/-])*)", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>",$entry);							
									
//$entry = eregi_replace("www.([^\[]+ )","<a href=\"http://www.\\1\" target=\"_blank\">www.\\1</a> ",$entry);												 
												 
$entry = eregi_replace("#murl=([^\[]+)#([^\[]+)#/murl#","<a href=\"\\1\" target=\"_top\">\\2</a>",$entry);
$entry = eregi_replace("#murl1=([^\[]+)#([^\[]+)#/murl1#","<a href=\"\\1\" target=\"_top\">\\2</a>",$entry);
$entry = eregi_replace("#murl2=([^\[]+)#([^\[]+)#/murl2#","<a href=\"\\1\" target=\"_top\">\\2</a>",$entry);
$entry = eregi_replace("#murl3=([^\[]+)#([^\[]+)#/murl3#","<a href=\"\\1\" target=\"_top\">\\2</a>",$entry);
//inhalt mit ([^\[]+)
return $entry; } 
?>
 
Zurück