У меня есть требование, где я должен определить 2 балла.
- Заменить все теги, которые имеют закрытый тег, но исключают несколько тегов, таких как
<a></a>, <p></p>, <i></i>
.Для этого я сделал много исследований и разработок, но не смог найти точное решение.Мое окончательное нахождение regx: (?!<p|a|i|>)(?<opentag><(?!/)[^>]*[^/]>)
Но это также поиск тега, который не имеет закрывающего тега Как <abc>
ПРИМЕЧАНИЕ: В этом я хочузаменить начало и закрыть тег пробелом.
Если у нас есть тег, который не имеет закрывающего тега, то я хочу удалить только специальный символ, а не весь тег.
<abc>
должно быть
abc
Пример:
Строка ввода:
<br />
<ul id="matchMe" type="square">
<li>stuff...</li>
<li>more stuff</li>
<li>
<div>
<span>still more</span>
<ul>
<li>Another >ul<, oh my!</li>
<li>...</li>
</ul>
</div>
</li>
</ul>
<p>....</p>
<p class="hhh">....</p>
<customTag1> Hello <CustomTag2>
Выходная строка:
stuff...
more stuff
still more
Another >ul<, oh my!
...
<p>....</p>
<p class="hhh">....</p>
customTag1 Hello CustomTag2
В этом примере я не хочу ничего делать с тегом p
, но все другие теги, имеющие самозакрывающийся тег или закрывающий тег, следует заменить пустыми.customTag1
и CustomTag2
оба тега являются пользовательскими и выглядят как HTML-тег начала, но не имеют конечного тега.Для этих тегов я просто хочу удалить только символ <,>
.
Здесь помогли несколько ответов, но не полностью https://stackoverflow.com/a/7564061/4813631 https://stackoverflow.com/a/10267932/4813631
Спасибо