Просмотр полной версии : Снова регулярки
есть строка text = '<img alt="" src="child.jpg" style="width: 640px; height:417px;">'
подскажите пожалуйста, как в ней заменить width на 100% и вообще убрать height?
можно как вариант вообще найти style="" и заменить все что в него входит
и вывести
пока слаб в регулярках юзал всякие примеры такого рода text = text.replace(/style="width:/g, 'TEST') alert(text) но не доходит (
спасибо
Pavel M.
15.08.2014, 16:12
если быстро
var s = '<img alt="" src="child.jpg" style="width: 640px; height:417px;">'.replace(/style=".+?"/, 'style="width:100%;"');
alert(s);
Pavel M.,
Спасибо.
А если допустим нет вообще атрибутов style как можно их добавить?
например: '<img alt="" src="child.jpg">'
или даже - если есть атрибут style то заменить (как выше) а если нет, то добавить
Pavel M.
19.08.2014, 14:34
добавьте еще один replace, например
var s = '<img alt="" src="child.jpg" style="width: 640px; height:417px;">'
.replace(/style=".+?"/, 'style="width:100%;"') // заменит style, если есть
.replace(/<img (?!.*style=)/, '<img style="width:100%;" '); // добавит style, если нет
alert(s);
s = '<img alt="" src="child.jpg">'
.replace(/style=".+?"/, 'style="width:100%;"') // заменит style, если есть
.replace(/<img (?!.*style=)/, '<img style="width:100%;" '); // добавит style, если нет
alert(s);
Pavel M.,
я так понял можно и так <img (?!.*style=)|style=".+?" :)
спасибо!
вот что странно - если на странице один рисунок, то он принимает размер 100% , а если например два, то у последующих размер не меняется :(
добавьте еще один replace, например
var s = '<img alt="" src="child.jpg" style="width: 640px; height:417px;">'
.replace(/style=".+?"/, 'style="width:100%;"') // заменит style, если есть
.replace(/<img (?!.*style=)/, '<img style="width:100%;" '); // добавит style, если нет
alert(s);
s = '<img alt="" src="child.jpg">'
.replace(/style=".+?"/, 'style="width:100%;"') // заменит style, если есть
.replace(/<img (?!.*style=)/, '<img style="width:100%;" '); // добавит style, если нет
alert(s);
всем регуляркам поставь флаг "g"
например /trololo/g
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot