HREF \ = \ "(. *) \"
это соответствует всем ссылкам, мне нужно, чтобы он применялся ко всем ссылкам, кроме случаев, когда href использует localhost в качестве ключевого слова
Спасибо.
Я думаю, что это регулярное выражение делает то, что вы хотите:
href="(.*)localhost(.*)"
preg_replace("@href\\=\\\"((?:\\b[^l\\\"]|l[^o]|lo[^c]|loc[^a]|loca[^l]|local[^h]|localh[^o]|localho[^s]|localhos[^t]\\b)|[\\w&&[^\\\"]]+localhost|localhost[\\w&&[^\\\"]]+|[\\w&&[^\\\"]]+localhost[\\w&&[^\\\"]]+|[^l\\\"])+\\\"@", $replacement, $str)