preg_replace, заменить если не внутри [a][b]

OnlyRu

Новичок
preg_replace, заменить если не между

Здраствуйте, вопрос в следующем:

PHP:
$text = "вот url в тексте _www.phpclub.ru/talk которая заменится на линк, а вот url [A]www.phpclub.ru/talk[/B] которую не нужно обрабатывать, так как это для других целей";

$text = preg_replace('!([^ /|:|а-яА-Я|\[URL\]]+)\.[ru|com|net|by|info|su?]([^ \[]*)!', '<a href="http://\\0">\\0</a>', $text);
всё перепробовал, не могу заставить чтобы не трансформировалось если внутри этих тегов [A] и ...
подскажите плизз...

P.S. на самом деле просто здесь (на форуме) он его в <a href=... преобразует
 

OnlyRu

Новичок
rotoZOOM я пару дней уже разбираюсь, пробовал и так и этак... читал конечно же и 1 часть, и 2 часть Регулярных выражений... прошу обьясни мне как и почему? не понимаю хоть убей...
 

rotoZOOM

ACM maniac
Хорошо, если можно описать, что следует перед искомой подстрокой, а что после. А что если нужно описать, что НЕ идет перед либо после искомой подстроки? Для этого опережающую и ретроспективную проверку делят еще каждую на две:

* Опрежающая позитивная, опережающая негативная проверки.
* Ретроспективная позитивная, ретроспективная негативная проверка.
Мне дальше цитировать статью?
 

OnlyRu

Новичок
rotoZOOM я не понимаю как (?[A]) применить в моём случае со всеми остальными условиями

Эх, ну всё равно спасибо... буду дальше пытаться
 
Сверху