Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.08.2012, 00:59
Аспирант
Отправить личное сообщение для syegorius Посмотреть профиль Найти все сообщения от syegorius
 
Регистрация: 28.08.2010
Сообщений: 91

регулярные выражения
доброе время суток

подскажите как по "простому" очистить все "<" и ">" на "&lt;" и "&rt;" соответственно внутри тегов. то есть например:

<span>hello< Привет<img src="1.jpg"/>><<span>></span><<<</span>


заменить на:

<span>hello&lt; Привет<img src="1.jpg"/>&rt;&lt;<span>&rt;</span>&lt;&lt;&lt;</span>


заранее спасибо за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 01.08.2012, 01:04
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

syegorius,
Изначально - контент на странице у клиента или речь о чисто строке ?
Ответить с цитированием
  #3 (permalink)  
Старый 01.08.2012, 01:14
Аспирант
Отправить личное сообщение для syegorius Посмотреть профиль Найти все сообщения от syegorius
 
Регистрация: 28.08.2010
Сообщений: 91

речь идет именно о строке. т.е. способ:

var elements=document.getElemensByTagName('tagname')
for(var i=0;i<elements.length;i++)elements[i].innerHTML.replace(/>/,'&rt;')


и другие подобные решения не подходят...
Ответить с цитированием
  #4 (permalink)  
Старый 01.08.2012, 01:19
Аватар для Apollo_440
Аспирант
Отправить личное сообщение для Apollo_440 Посмотреть профиль Найти все сообщения от Apollo_440
 
Регистрация: 06.05.2012
Сообщений: 48

Deff,
разница в вашем вопросе всего в одну - две строки.
- document.getElement ...
- .innerHTML

методом .replace

var a = "<blalalal>";
a = a.replace(/</gi,"&lt;").replace(/>/g,"&rt;");
alert(a);


a - нужная строка. Если ее нет - получаем через getElement... и получаем .innerHTML;

Последний раз редактировалось Apollo_440, 01.08.2012 в 01:31.
Ответить с цитированием
  #5 (permalink)  
Старый 01.08.2012, 01:21
Аватар для Apollo_440
Аспирант
Отправить личное сообщение для Apollo_440 Посмотреть профиль Найти все сообщения от Apollo_440
 
Регистрация: 06.05.2012
Сообщений: 48

syegorius,
забыли вернуть на место html. Вы лишь заменили символы в строке, но не вставили в тег.
Надо вот так:

var elements=document.getElemensByTagName('tagname');
for(var i=0;i<elements.length;i++){
var a = elements[i].innerHTML;
a = a.replace(/</gi,"&lt;").replace(/>/g,"&rt;");
}

Последний раз редактировалось Apollo_440, 01.08.2012 в 01:32.
Ответить с цитированием
  #6 (permalink)  
Старый 01.08.2012, 01:33
Аспирант
Отправить личное сообщение для syegorius Посмотреть профиль Найти все сообщения от syegorius
 
Регистрация: 28.08.2010
Сообщений: 91

вы не совсем правильно меня поняли... вверху я просто описался...

мне нужно очистить именно строку, а не содержимое элемента или элементов...

мне нужно регулярное выражение типа такого:

/(<\s*\/*\s*(span)|(div)[^>]*>)*(.*(>).*|.*(<).*)(<\s*\/*\s*(span)|(div)[^>]*>)*/ig


но вышеприведенное регулярное выражение не работает в моем случае
Ответить с цитированием
  #7 (permalink)  
Старый 01.08.2012, 01:44
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Apollo_440,
Разница в моем вопросе - я могу выпарсить скриптом контент тега - а не регуляркой
Ответить с цитированием
  #8 (permalink)  
Старый 01.08.2012, 01:49
Аспирант
Отправить личное сообщение для syegorius Посмотреть профиль Найти все сообщения от syegorius
 
Регистрация: 28.08.2010
Сообщений: 91

да скриптом и я могу
Ответить с цитированием
  #9 (permalink)  
Старый 01.08.2012, 01:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от syegorius
да скриптом и я могу


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)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярные выражения для javascript qwert_ukg Общие вопросы Javascript 3 20.04.2012 13:45
Регулярные выражения vivalaakam Общие вопросы Javascript 6 08.02.2012 09:41
регулярные выражения syegorius Events/DOM/Window 15 02.12.2011 21:58
нежадные регулярные выражения KOLANICH Общие вопросы Javascript 2 12.12.2010 01:08
Функции поиска и замены строк или регулярные выражения? Armen Общие вопросы Javascript 1 01.01.2010 12:35