регулярные выражения
доброе время суток
подскажите как по "простому" очистить все "<" и ">" на "<" и "&rt;" соответственно внутри тегов. то есть например: <span>hello< Привет<img src="1.jpg"/>><<span>></span><<<</span> заменить на: <span>hello< Привет<img src="1.jpg"/>&rt;<<span>&rt;</span><<<</span> заранее спасибо за помощь! |
syegorius,
Изначально - контент на странице у клиента или речь о чисто строке ? |
речь идет именно о строке. т.е. способ:
var elements=document.getElemensByTagName('tagname')
for(var i=0;i<elements.length;i++)elements[i].innerHTML.replace(/>/,'&rt;')
и другие подобные решения не подходят... |
Deff,
разница в вашем вопросе всего в одну - две строки. - document.getElement ... - .innerHTML методом .replace var a = "<blalalal>"; a = a.replace(/</gi,"<").replace(/>/g,"&rt;"); alert(a); a - нужная строка. Если ее нет - получаем через getElement... и получаем .innerHTML; |
syegorius,
забыли вернуть на место html. Вы лишь заменили символы в строке, но не вставили в тег. Надо вот так:
var elements=document.getElemensByTagName('tagname');
for(var i=0;i<elements.length;i++){
var a = elements[i].innerHTML;
a = a.replace(/</gi,"<").replace(/>/g,"&rt;");
}
|
вы не совсем правильно меня поняли... вверху я просто описался...
мне нужно очистить именно строку, а не содержимое элемента или элементов... мне нужно регулярное выражение типа такого: /(<\s*\/*\s*(span)|(div)[^>]*>)*(.*(>).*|.*(<).*)(<\s*\/*\s*(span)|(div)[^>]*>)*/ig но вышеприведенное регулярное выражение не работает в моем случае |
Apollo_440,
Разница в моем вопросе - я могу выпарсить скриптом контент тега - а не регуляркой |
да скриптом и я могу
|
Цитата:
var Zz='<span>hello< Привет<img src="1.jpg"/>><<span>></span><<<</span>'
var toConvertedXML = (function( b ){
return function( xmlTxt ) {
b.innerHTML = xmlTxt;
return b
}
})( document.createElement( 'b' ) );
var Z = toConvertedXML(Zz)
var x=Z.innerHTML.toString()
alert(x)
|
| Часовой пояс GMT +3, время: 14:55. |