Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Замена тегов (https://javascript.ru/forum/misc/6875-zamena-tegov.html)

vuser 29.12.2009 14:36

Замена тегов
 
Подскажите пожалуйста, как можно с помощью javascript произвести замену тегов на свои теги.
Например, у меня есть следующий текст:
<div class="sclass">C</div> новым <div class="snew">го<b>до</b>м</div>

мне нужно чтобы получилось
++C++ новым +++го<b>до</b>м+++

т.е.
<div class="sclass"> заменяю на ++, а <div class="snew"> заменяю на +++

Я делал так.. Искал сначала теги <div class="sclass"> , <div class="snew"> и заменял на свои..,
contentHTML.replace(/<div class="snew">/gi,"+++");

но проблема встала.. как отыскать его закрывающийся тег </div> ??
Может как то через регулярные выражения можно составить правило?

Aetae 04.01.2010 02:02

Потрать время, разберись с регулярками - не пожалеешь, оч полезная штука.)

Michael83 05.01.2010 04:01

Если еще не разобрались с регулярками:

var s = '<div class="sclass">C</div> новым <div class="snew">го<b>до</b>м</div>';
s = s
  .replace(/<div class="sclass">(.*?)(?=<\/div>)<\/div>/gi, "++$1++")
  .replace(/<div class="snew">(.*?)(?=<\/div>)<\/div>/gi, "+++$1+++");

и на самом деле с рег.выражениями лучше сразу разрбраться - сильно облегчают жизнь


Часовой пояс GMT +3, время: 21:01.