2015-10-05 6 views
1

У меня возникла проблема. У меня есть вся html-страница, хранящаяся в одной переменной, и я хотел бы изменить определенные URL-адреса, соответствующие критериям.JS: Regex - заменить части доменов в полном тексте

Мы ищем только определенный домен верхнего уровня, скажем, «.XYZ», и если мы его найдем, мы бы хотели, чтобы окончание было «.XYZ.ABC» - просто добавив «.ABC».

Например <a href="http://example.xyz/">link</a> будет изменен на <a href="http://example.xyz.abc/">link</a>

Но если домен уже «.abc» окончание мы должны оставить его в покое. Я хотел бы изменить текст всех ссылок, так ЦСИ HREF, а также Js значения как var link="123.xyz/1.bmp";

Другие примеры

www.123.xyz -> www.123.xyz.abc 
abc.xyz/1.bmp -> abc.xyz.abc/1.bmp 
eee.xyz.abc -> eee.xyz.abc 

ответ

0

Что-то, как это должно работать:

text.replace(/\.xyz(?!\.abc)/g, ".xyz.abc") 
+0

Он должен работать только для ссылок ... может быть, должны быть критерии, которые, если эта ссылка находится в «" или «только», тогда она может изменить текст. Итак, критерий: ссылка, которая находится в «" или '' и не имеет пробелов внутри, проверяет наличие последних символов до/на .xyz или в случае двойного // (например, http: // 123 .xyz /) затем выполните поиск текста до третьего/(если есть /), и текст не заканчивается там, в этом случае проверьте только, есть ли .xyz в конце. Если этот критерий встречается, измените .xyz на .xyz.abc Неверный код, если ссылка равна 1.xyz.com/. Мы должны искать только .xyz. – user3234039

Смежные вопросы