AHH...
I found what's wrong but didn't solve the problem.
Look at this:
http://gaui.is-a-geek.org/foo.php
http://gaui.is-a-geek.org/foo.phps
The reason is because I'm using many [url] [/url] in the string.
I tried this and it worked...
$string = 'Ég sá eina frétt á [url][url]http://www.mbl.is[/url][/url] sem ég var ekki alveg að botna';
Output:
Ég sá eina frétt á <a href="http://www.mbl.is">[url]http://www.mbl.is</a>[/url] sem ég var ekki alveg að botna
Then I tried this and it didn't work...
$string = 'Ég sá eina frétt á [url][url]http://www.mbl.is[/url][/url] sem ég var ekki alveg að botna og líka á [url][url]http://www.batman.is[/url][/url]';
Output:
Ég sá eina frétt á <a href="http://www.mbl.is[/url] sem ég var ekki alveg að botna og líka á [url]http://www.batman.is">http://www.mbl.is[/url] sem ég var ekki alveg að botna og líka á [url]http://www.batman.is</a>
So this tells me my REGULAR EXPRESSION statements don't support many BBcodes in the same string.
How can I fix that?
Here's the function...
function makeBB( $string )
{
# Bold
$string = ereg_replace( '\[b\](.*)\[/b\]', '<b>\1</b>', $string );
# Italic
$string = ereg_replace( '\[i\](.*)\[/i\]', '<i>\1</i>', $string );
# Underline
$string = ereg_replace( '\[u\](.*)\[/u\]', '<u>\1</u>', $string );
# Link 1
$string = ereg_replace( '\[url\](.*)\[/url\]', '<a href="\1">\1</a>', $string );
# Link 2
#$string = ereg_replace( '\[url=(.*)\](.*)\[/url\]', '<a href="\1">\2</a>', $string );
# Header 1
$string = ereg_replace( '\[h1\](.*)\[/h1\]', '<h1>\1</h1>', $string );
# Header 2
$string = ereg_replace( '\[h2\](.*)\[/h2\]', '<h2>\1</h2>', $string );
# PHP Table 1
ereg( '\[php\](.*)\[/php\]', $string, $php1 );
$string = ereg_replace( '\[php\](.*)\[/php\]', '<table width="80%" border="0" cellpadding="1" cellspacing="0" bgcolor="#666666"><tr><td><table width="100%" border="0" cellpadding="0" cellspacing="10" bgcolor="#EEEEEE"><tr><td>' . highlight_string( $php1[1], TRUE ) . '</td></tr></table></td></tr></table>', $string );
# PHP Table 2
ereg( '\[php=(.*)\](.*)\[/php\]', $string, $php2 );
$string = ereg_replace( '\[php=(.*)\](.*)\[/php\]', '<table border="0" cellspacing="3" cellpadding="0" bgcolor="#CCCCCC" style="border: #666666 solid; border-width: 1px 1px 0px"><tr><td><b>' . $php2[1] . '</b></td></tr></table><table width="80%" border="0" cellpadding="1" cellspacing="0" bgcolor="#666666"><tr><td><table width="100%" border="0" cellpadding="0" cellspacing="10" bgcolor="#EEEEEE"><tr><td>' . highlight_string( $php2[2], TRUE ) . '</td></tr></table></td></tr></table>', $string );
return $string;
}