$data='example: [url=http://kamrbb.ru/1.php]grdfgdfgfdg[/url]'; $data=str_replace('[/url]',"`",$data); $A='/\[url=([а-яёA-Za-z0-9\.\/_?#&%=;,~:\+\-]*)\]([^`]*)`/i'; while(preg_match($A, $data)){ echo $marr[0][0]; preg_match_all($A, $data, $marr, 2); $m = $marr[0][1]; if(!preg_match('/kamrbb\.ru/i',$m)){ $B='<!--noindex--><a rel="nofollow" target=_blank href="\\1"><u>\\2</u></a><!--/noindex-->'; }else{ $B='<a target=_blank href="\\1"><u>\\2</u></a>'; } $m=preg_replace($A,$B,$marr[0][0]); $data=str_replace($marr[0][0],$m,$data); } echo $data; Сам написал за несколько мучительных часов с учебником PHP. $text = 'ffef http://www.flashboot.ru/index.php efeffefefef http://forum.htmlbook.ru ddsds http://a.kamrbb.ru ssd'; $A='/( |^|`)(http:\/\/[а-яА-ЯA-Za-z0-9\/_\?\!#\&%\=;,:\+\.\-]*)( |`|$)/'; while(preg_match($A, $text)){ echo $marr[0][0]; preg_match_all($A, $text, $marr, 2); $m = $marr[0][1]; if(!preg_match('/kamrbb\.ru/i',$m)){ $B='<!--noindex-->\\1<a rel="nofollow" target=_blank href="\\2">\\2</a>\\3<!--/noindex-->'; }else{ $B='\\1<a target="_blank" href="\\2">\\2</a>\\3'; } $m=preg_replace($A,$B,$marr[0][0]); $text=str_replace($marr[0][0],$m,$text); } echo $text; где то я косякнул((( множит ссылки если есть вложения картинок...