Это должно сработать (создайте строку регулярного выражения и вставьте любую нужную строку вместо «mylink»)
<\s*a\s+[^>]*>[^<>]*mylink[^<>]*<\s*\/a\s*>
Но это не рекомендуется. Вместо этого вы должны использовать анализатор HTML и обработать тег. Regex не совсем подходящий инструмент для этого. (Вышеупомянутое регулярное выражение не будет работать, если у вас есть ссылки, содержащие «>», хотя это может быть редко)
Полагаю, php не требует никаких специальных escape-символов, если вы просто используете соответствующий переход.
Проверено на regexpal.com
Несколько заметок ::
\ s * - для сопоставления необязательных пробелов
\ s + - чтобы соответствовать как минимум одному пробелу / табуляции и дополнительным пробелам
[^>] - соответствует любому символу, кроме '>'
[^ <>] - соответствует любому символу, кроме '<' или '>'
ОБНОВЛЕНИЕ: экранирование "/" для сопоставления php с m / regex /