удалить возврат каретки только внутри промежутка с помощью регулярного выражения - PullRequest
1 голос
/ 11 августа 2010

У меня есть этот фрагмент текста в строке:

<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"><i style=""><span style="" lang="ES-TRAD">some text
another text<o:p></o:p></span></i></p>

<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"><i style=""><span style="" lang="ES-TRAD">some text more
and some text more<o:p></o:p></span></i></p>

Если я делаю

string.replace(/[\r\n]/g, "");

все возвраты каретки будут удалены, я просто хочу удалить тех, кто находится между "некоторым текстом" и "другим текстом", я имею в виду внутри промежутков.

Заранее спасибо.

1 Ответ

1 голос
/ 11 августа 2010
/[\r\n]+(?=(?:(?!<span\b)[\s\S])*<\/span>)/i

Это будет соответствовать символам новой строки, которые находятся внутри <span> элементов.Он также будет совпадать внутри открывающего тега <span> и любого другого тега, содержащегося в элементе <span>.Это, вероятно, не имеет значения, но у меня полное настроение.;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...