Помогите с регуляркой.

V
На сайте с 03.12.2007
Offline
94
382

Нужно все ссылки, началом адреса в которых НЕ является строка domain заменить на анкор.

$content= preg_replace("!<a(.*?)href=\"http://domain(.*?)\"(.*?)>(.*?)</a>!si","\\4",$content);

Данная конструкция меняет ссылки, содержащие domain. Как слово domain сделать в виде исключения?

DavyJohnes
На сайте с 05.01.2011
Offline
84
#1
vavenko:
Нужно все ссылки, началом адреса в которых НЕ является строка domain заменить на анкор.

Данная конструкция меняет ссылки, содержащие domain. Как слово domain сделать в виде исключения?


$content= preg_replace("!<a(.*?)href=\"http://(?!domain)(.*?)\"(.*?)>(.*?)</a>!si","\\4",$content);
https://handy-tools.io (https://handy-tools.io) - Набор полезных утилит для всех!
V
На сайте с 03.12.2007
Offline
94
#2
DavyJohnes:

$content= preg_replace("!<a(.*?)href=\"http://(?!domain)(.*?)\"(.*?)>(.*?)</a>!si","\\4",$content);

уже так пробовал, не работает, Warning: preg_replace() [function.preg-replace]: Unknown modifier 'd' in /home/.........../archive.php on line 36

---------- Добавлено 11.10.2012 в 09:56 ----------

UPD, допер, нужно было сменить ограничители c ! на другие.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий