Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.06.2012, 13:47
Интересующийся
Отправить личное сообщение для Zlyden Посмотреть профиль Найти все сообщения от Zlyden
 
Регистрация: 27.10.2010
Сообщений: 19

Вопрос про Regexp
Нужно удалять вложенные теги. К примеру, есть тег <tag>. Замена над примером
Код:
<tag>
 ab
 <tag>cd</tag>
 ef
</tag>
должна привести к такому виду:
Код:
<tag>
ab
cd
ef
</tag>
При этом такой пример:
Код:
<tag>ab</tag>
 <tag>cd</tag>
должен таковым и остаться. Как сделать такое с помощью регулярок? Ну или хотя бы не наваливая тонну кода со множеством вложенных циклов?
Ответить с цитированием
  #2 (permalink)  
Старый 28.06.2012, 23:35
Интересующийся
Отправить личное сообщение для Zlyden Посмотреть профиль Найти все сообщения от Zlyden
 
Регистрация: 27.10.2010
Сообщений: 19

Вопрос решён. Выкладываю, если кому надо. Парсит вложенные <tag>..<tag> и </tag>..</tag> независимо, для моей задачи так даже лучше.
a=a.replace(r("(<"+tag+">)([\\s\\S]*?)(<\\/?"+tag+">)"),function($0,$1,$2,$3){
	if($3.charAt(1)!='/'){
		return $1+$2;
	}
	else{
		return $0;
	}
});
a=a.replace(r("(<\\/"+tag+">)([\\s\\S]*?)(<\\/?"+tag+">)"),function($0,$1,$2,$3){
	if($3.charAt(1)=='/'){
		return $2+$3;
	}
	else{
		return $0;
	}
});

Последний раз редактировалось Zlyden, 29.06.2012 в 12:53.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про сравнения san4es Javascript под браузер 4 01.04.2012 16:56
вопрос про создание переменной Gamestop Общие вопросы Javascript 2 04.09.2011 21:48
вопрос про возможности JS для рисования и анимации macdack Библиотеки/Тулкиты/Фреймворки 3 15.07.2011 00:13
Вопрос про ООП, цепочки прототипов. Shaci Общие вопросы Javascript 5 27.01.2010 14:50
мааленький вопрос по Regexp:) mirniy Общие вопросы Javascript 1 22.01.2009 20:47