Hola, necesariamente tendrías que utilizar expresiones regulares, aquí un ejemplo simple:
Código PHP:
<?php
$url="[url= [url]http://www.buayacorp.com]Programación[/url] y Diseño[/url]";
$url=preg_replace("`\[url\s*=\s*(.*)?\](.*?)\[/url\]`is", '<a href="$1">$2</a>', $url);
echo $url;
?>
Saludos