как сделать bbcode для анализа URL-адресов в ссылках?

Как мне следует разбирать URL-адрес в php? Я хочу сделать так, чтобы он

[url=http://www.google.com]Google[/url] 

Превращается в:

 <a href="http://www.google.com">Google</a> 

Это код, который я использую для других моих кодов bb:

 function postparser($post){ $post = str_replace("\n",'END_OF_LINE',$post); $post = str_replace("[line]",'HORIZONTAL_LINE',$post); $post = str_replace("[bold]",'BOLD_TEXT_START',$post); $post = str_replace("[/bold]",'BOLD_TEXT_END',$post); $post = str_replace("[yt]",'YOUTUBE_START',$post); $post = str_replace("[/yt]",'YOUTUBE_END',$post); $post = sanitize($post); $post = str_replace("END_OF_LINE",'<br />',$post); $post = str_replace("HORIZONTAL_LINE",'<hr />',$post); $post = str_replace("BOLD_TEXT_START",'<b>',$post); $post = str_replace("BOLD_TEXT_END",'</b>',$post); $post = str_replace("YOUTUBE_START",'<iframe width="560" height="315" src="http://www.youtube.com/embed/',$post); $post = str_replace("YOUTUBE_END",'" frameborder="0" allowfullscreen></iframe>',$post); return $post; } 

Как мне это сделать?

 $post = preg_replace('/\[url=(.+?)\](.+?)\[\/url\]/', '<a href="\1">\2</a>', $post); 

Это изменится: [url = http://google.com] Google [/ url]

В анализируемый текст bbcode: Google

Вероятно, вы захотите использовать более определенное регулярное выражение, чем просто . +, Чтобы отфильтровать потенциально опасный / опасный ввод.