Регулярное выражение, которое удаляет атрибуты из тегов - PullRequest
0 голосов
/ 22 июня 2010

Меня интересует регулярное выражение, которое будет принимать ввод HTML и удалять все атрибуты внутри тега, оставляя тег без изменений.Например, я хочу это ...

<p class="test" id="TestParagraph">This is some test text right here.</p>

Чтобы стать этим ...

<p>This is some test text right here.</p>

Любая помощь будет высоко ценится.

Ответы [ 3 ]

5 голосов
/ 22 июня 2010

Вы действительно не хотите использовать регулярные выражения для этого.HTML не является обычным языком , вы не можете гарантировать, что ваш фактический текст не будет имитировать теги, а также будет удален.Какое бы выражение вы ни придумали, всегда будут случаи, которые его нарушают.

Я бы предложил использовать Html Agility Pack для любых манипуляций с HTML, которые вам нужно сделать.

2 голосов
/ 22 июня 2010

HTML не является обычным языком , и, следовательно, вы столкнетесь с проблемой при попытке проанализировать его с помощью регулярных выражений.Как отметил выше Грег, вы можете захотеть взглянуть на HTML-парсер, который сделает эту работу за вас.

Наслаждайтесь!

1 голос
/ 23 июня 2010

Извиняюсь за то, что не не ответил на вопрос .

Вы можете начать с этого

<(\S+)[^>]+>

заменить на

<$1>

Конечно, это было бы легко сломать, если входные данные содержат сценарии или разделы CDATA, или все виды случаев. Но это может быть достаточно близко для вашего набора ввода.

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