Ninazu
@Ninazu

Как вырезать все блоки не содержащие аттрибут?

Собственно испытуемый кусок
$test = '<input type="hidden" name="submitted" value="TRUE" />
			<!-- LOCALE uk -->
			<h2 class="">Required Information UK</h2>
			<!-- /LOCALE -->
<!-- LOCALE uk --><h2 class="">Required Information UK</h2><!-- /LOCALE -->
<!-- LOCALE ru -->
<h2 class="">Required Information RU</h2>
<!-- /LOCALE -->

<!-- LOCALE -->
<h2 class="">Required Information EMPTY</h2>
<!-- /LOCALE -->
<div class="content_indent" style="width: 764px; margin-bottom: 35px;">';


//Попытки :(
echo preg_replace('#<!--\s+LOCALE\s+(ru)\s+-->.*?<!--\s+/LOCALE\s+-->#sm','',$test);


Нужно вырезать все блоки у которых LOCALE не имеет аттрибута ru. Пока получилось вырезать только все с этим аттрибутом. Как указать инверсию? (?!ru) - так не заводится
  • Вопрос задан
  • 244 просмотра
Решения вопроса 1
@heartdevil
плыву как воздушный шарик
Привет.

Вот такую регулярку попробуйте подсунуть.

Пример

UPDATE:

Пример 2
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
iam_not_a_robot
@iam_not_a_robot
А не проще удалить все блоки с ru preg_replace вот так https://regex101.com/r/dX2wH3/1 и всё
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы