регулярные выражения
доброе время суток
подскажите как по "простому" очистить все "<" и ">" на "<" и "&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, время: 07:09. |