Я не новичок в регулярных выражениях, но столкнулся с проблемой, которую не могу решить.Я пытаюсь найти определенный HTML-тег, который имеет определенную пару атрибут / значение (у него могут быть и другие атрибуты, но они не обязательны), извлечь его содержимое в виде обратной ссылки и обернуть вокруг него новый пользовательский тег.Оригинальный тег:
<p backgroundColor="#0066cc" color="#0066cc" lineHeight="18" paragraphSpaceAfter="15" paragraphSpaceBefore="15" fontSize="24">This is my second paragraph, with some <span fontStyle="italic">inline stuff</span>too.</p>
Я хотел бы получить его:
<custom_heading>This is my second paragraph, with some <span fontStyle="italic">inline stuff</span>too.</custom_heading>
Выражение, которое я сейчас использую, это:
r = new RegExp("<p[^<]*backgroundColor=\"#0066cc\"[^>?]*\>","gi");
s=s.replace(r,"<bwt_heading>");
Это работает нормально (замена только открывающего тега), пока я не попытаюсь добавить содержимое, а закрывающий тег:
<p[^<]*backgroundColor=\"#0066cc\"[^>?]*\>(.*?)</p>
Вышеуказанное ничего не соответствует, не заменяет вообще.Пожалуйста помоги!Мне удалось заменить несколько других тегов (и сохранить их содержимое с помощью обратной ссылки, например так:
<span>