Здравствуйте. Имеется постоянно обновляемая страница новостей, требуется некоторые ключевые слова заменять на ссылку. Написать регулярное выражение для замены "foobar" на "<a href='http://'>foobar</a>" труда не составляет, не получается учесть вариант когда foobar находится внутри ссылки "<a href='http://'>bla bla foobar bla</a>". Сначала пробовал использовать негативные проверки справа и слева: "/(?<!<a[^<>]).*(foobar).*<\/a>/" понял что для этого требуется знать фиксированное количество символов для проверки, затем начал заменять ключевое слово в два этапа: 1. $content = preg_replace('/foobar/u','<a hre='http://'>foobar</a>',$content); //заменяем все foobar на ссылки 2. $content = preg_replace('/(<a[^>]+>.?(?<!<\/a>))<a[^>]+>(foobar)<\/a>/','foobar',$content); //заменяем все вложенные ссылки с foobar на foobar Но ничего не получается. Помогите, пожалуйста, найти ошибку.
с потолка поступило предложение делать замену в три этапа: 1. найти все foobar внутри ссылок и заменить их на foo______bar 2. найти все foobar и заменить их на ссылку 3. str_replace foo______bar => foobar