Я использую текстовый редактор текстового редактора textarea в SharePoint 2013, и у него есть досадная привычка добавлять дополнительные теги разрыва в скрытую HTML-разметку в конце тегов, например:
<h1>Some heading<br></h1>
<p>Intro paragraph with maybe an actual.<br>That is supposed to be here.</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<br>
<br>
</ul>
В этом примере br в середине абзаца - это тот, который вставил пользователь, но те, которые находятся в конце тегов h1 и ul, нежелательны, и я хотел бы их удалить.Я не могу вспомнить случай, когда
прямо перед другим закрывающим тегом является действительным, так что это мой план.
Я хотел бы найти все теги br непосредственно перед любым другим закрывающим тегом и удалить их.
Мы могли бы использовать vanilla javascript, но jQuery уже есть на странице для других вещей.
Я нашел этот поток , который предоставляет решение для регулярного выражения для удаления br прямо перед темзакрытие h2.Это php и предоставляет больше алгоритм, чем реализация.Там есть второе решение «использовать парсер DOM».Но я не знаком с этим.
Кроме того, некоторые из добавленных тегов <br>
, а некоторые <br />
.И могут быть или не быть возвраты строки и пробелы.
Существует ли метод для нахождения всех <br>
или <br />
непосредственно перед (игнорируя любые возвраты строки или пробелы) любого другого допустимого закрывающего тега?