Для перелинковки я использую следующее регулярное выражение: $regexp = '/(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))(' . preg_quote($key_word, '/') . ')/usUi'; Но проблема в том, что такое выражение жрёт очень много ресурсов, скажите как можно его оптимизировать? Скажим найти $key_word в тексте, за исключением если искомое слово находится между символами "<" и ">" (в тегах) или между ">" и "</a" (в сылки)?