Регулярка - очистить h-теги от лишних тегов

seowin

Client
Регистрация
02.05.2016
Сообщения
111
Благодарностей
9
Баллы
18
Помогите, пожалуйста, с регуляркой.

Есть такая конструкция:
<h2><b><i>Что такое гражданская альтернативная служба</i></b></h2>

Необходимо, чтобы после обработки регуляркой стало так:
<h2>Что такое гражданская альтернативная служба</h2>

При этом теги внутри заголовка могут быть разные и в разном количестве.
Т.е. может быть так:
<h2><strong>Что такое гражданская альтернативная служба</strong></h2>

Или так:
<h2><b>Что такое гражданская альтернативная служба</b></h2>

И т.д.

И чтобы после обработки всегда получалось так:
<h2>Что такое гражданская альтернативная служба</h2>

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

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
C#:
<[^h2>]*>
 
  • Спасибо
Реакции: Roman48

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113

seowin

Client
Регистрация
02.05.2016
Сообщения
111
Благодарностей
9
Баллы
18
К сожалению, не подходит ни то, ни другое.

Эти заголовки находятся в большой куске текста.

Пример:

<h2><b><i>Срок альтернативной гражданской службы</i></b></h2>
<p>Как уже было подчеркнуто выше, альтернативная гражданская служба отличается от военной службы по призыву не только видом деятельности, но и другими условиями, главным из который, пожалуй, является срок альтернативной гражданской службы. В силу того, что АГС – это возможность, которая предоставляется гражданам для замены срочной службы, за эту возможность придется платить увеличенным сроком службы. И это одно из основных отличий. Давайте, рассмотрим сроки альтернативной гражданской службы, действующие в настоящее время, то есть в 2020 году. Эти сроки зафиксированы в Федеральном законе об альтернативной гражданской службе.</p>
<p>Здесь тоже есть несколько вариантов: ситуация зависит от того, в какой организации будет проходить служба. Если служба будет проходить в организациях, подведомственных российской армии, или в военных частях на должностях гражданской службы, то срок АГС составит 18 месяцев, иначе говоря, 1,5 года. И другой случай, когда служба проходит в других организациях, не связанных с вышеуказанными, то есть организации не связанные с армией, например, почта или налоговая инспекция – тогда срок альтернативной гражданской службы в России по закону будет составлять 21 календарный месяц, то есть почти 2 года. Очевидным, является значительное увеличение срока службы по сравнению классической службой по призыву, где срок службы в 2020 году составляет 12 месяцев.</p>
<h2><b><i>Место прохождения альтернативной гражданской службы</i></b></h2>
<p>Не секрет, что для многих призывников наибольший интерес представляет место прохождения альтернативной гражданской службы, то есть место, где придется работать и, соответственно, что придется делать. Многие слышали истории и легенды про уход за больными в лечебных учреждениях, и у ребят сложилось впечатление, что это единственно возможный вариант. Однако, это далеко не так. Чтобы разобраться с этим вопросом окончательно, обратимся к Федеральному закону, осуществляющему правовое регулирование альтернативной гражданской службы в России, а именно к упомянутому выше 113-ФЗ.</p>
<p>Правительством РФ установлен порядок, согласно которому различные муниципальные или бюджетные организации заранее подают в уполномоченные государственные органы заявки, в которых указывают вакансии для ребят, направленных на альтернативную службу. Это могут быть как технический персонал на производстве, так и работа с документами, а также в сфере обслуживания и так далее. Перечень таких рабочих мест формируется перед каждым призывом и может меняться. При направлении призывника работать в качестве АГС, его должность может быть выбрана на основании образования юноши, но это скорее рекомендация, а не правило.</p>
<p>В 98 % случаев альтернативная гражданская служба проходит в городе, где юноша проживает. Однако, это тоже не правило. Отправить на АГС могут и в другой город – в этом случае призывнику должно быть предоставлено место в общежитии, но все-таки направление в другие города происходит крайне редко.</p>
<h2><b><i>Особенности альтернативной гражданской службы</i></b></h2>
<p>Давайте рассмотрим другие особенности альтернативной службы, которые часто волнуют призывников, а также их родителей. Как уже упоминалось, АГС имеет множество сходств с обычной работой, рассмотрим их.</p>
<p><ol>
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
<[^h2>]*>


<h2>Срок альтернативной гражданской службы</h2>
Как уже было подчеркнуто выше, альтернативная гражданская служба отличается от военной службы по призыву не только видом деятельности, но и другими условиями, главным из который, пожалуй, является срок альтернативной гражданской службы. В силу того, что АГС – это возможность, которая предоставляется гражданам для замены срочной службы, за эту возможность придется платить увеличенным сроком службы. И это одно из основных отличий. Давайте, рассмотрим сроки альтернативной гражданской службы, действующие в настоящее время, то есть в 2020 году. Эти сроки зафиксированы в Федеральном законе об альтернативной гражданской службе.
Здесь тоже есть несколько вариантов: ситуация зависит от того, в какой организации будет проходить служба. Если служба будет проходить в организациях, подведомственных российской армии, или в военных частях на должностях гражданской службы, то срок АГС составит 18 месяцев, иначе говоря, 1,5 года. И другой случай, когда служба проходит в других организациях, не связанных с вышеуказанными, то есть организации не связанные с армией, например, почта или налоговая инспекция – тогда срок альтернативной гражданской службы в России по закону будет составлять 21 календарный месяц, то есть почти 2 года. Очевидным, является значительное увеличение срока службы по сравнению классической службой по призыву, где срок службы в 2020 году составляет 12 месяцев.
<h2>Место прохождения альтернативной гражданской службы</h2>
Не секрет, что для многих призывников наибольший интерес представляет место прохождения альтернативной гражданской службы, то есть место, где придется работать и, соответственно, что придется делать. Многие слышали истории и легенды про уход за больными в лечебных учреждениях, и у ребят сложилось впечатление, что это единственно возможный вариант. Однако, это далеко не так. Чтобы разобраться с этим вопросом окончательно, обратимся к Федеральному закону, осуществляющему правовое регулирование альтернативной гражданской службы в России, а именно к упомянутому выше 113-ФЗ.
Правительством РФ установлен порядок, согласно которому различные муниципальные или бюджетные организации заранее подают в уполномоченные государственные органы заявки, в которых указывают вакансии для ребят, направленных на альтернативную службу. Это могут быть как технический персонал на производстве, так и работа с документами, а также в сфере обслуживания и так далее. Перечень таких рабочих мест формируется перед каждым призывом и может меняться. При направлении призывника работать в качестве АГС, его должность может быть выбрана на основании образования юноши, но это скорее рекомендация, а не правило.
В 98 % случаев альтернативная гражданская служба проходит в городе, где юноша проживает. Однако, это тоже не правило. Отправить на АГС могут и в другой город – в этом случае призывнику должно быть предоставлено место в общежитии, но все-таки направление в другие города происходит крайне редко.
<h2>Особенности альтернативной гражданской службы</h2>
Давайте рассмотрим другие особенности альтернативной службы, которые часто волнуют призывников, а также их родителей. Как уже упоминалось, АГС имеет множество сходств с обычной работой, рассмотрим их.

1589477102027.png
 
  • Спасибо
Реакции: seowin

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
  • Спасибо
Реакции: seowin

seowin

Client
Регистрация
02.05.2016
Сообщения
111
Благодарностей
9
Баллы
18
Действительно, все ок! Большое спасибо!
 

seowin

Client
Регистрация
02.05.2016
Сообщения
111
Благодарностей
9
Баллы
18
Только возникла другая проблема - из текста удалились все другие теги - абзацы, списки и т.д. Т.е. регулярка взаимодействует со всем текстом, а не только с h2 тегами. Как это можно подправить?
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Я себе завел блокнотик, vladonai.com поиск мгновенный, база данных может быть хоть 100 гб,
1589478126787.png
И при копировании, вставляет ссылку на источник и можно хранить файлы, потом что мне интересно записываю, и когда нужно нахожу моментально)
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Только возникла другая проблема - из текста удалились все другие теги - абзацы, списки и т.д. Т.е. регулярка взаимодействует со всем текстом, а не только с h2 тегами. Как это можно подправить?
Попробуй так <b*?> потом </b*?> или сначала брать заголовки и их обрабатывать, а потом на место класть и все вместе сохранять
 

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
олько возникла другая проблема - из текста удалились все другие теги - абзацы
Ты же сам просил, зачистить все теги, кроме h2.
Тогда добавляй исключения, <[^h2 p ol>]*>
 
  • Спасибо
Реакции: seowin

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 641
Баллы
113
замена по регулярке
(?i)(?<=<h\d>)(\s*<\w+>)+([^<>]+)(</\w+>\s*)+?(?=</h\d>)
на $2
 
  • Спасибо
Реакции: seowin

seowin

Client
Регистрация
02.05.2016
Сообщения
111
Благодарностей
9
Баллы
18

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)