Как вырезать теги и все содержимое регуляркой?

  • Автор темы Автор темы alexein66
  • Дата начала Дата начала

alexein66

Мастер конкатенации
Разрушитель (V)
Сообщения
252
Реакции
128
Баллы
3 899
Доброго дня

Как вырезать такой тег и его содержимое с атрибутом name="Текст" регулярным выражением?

HTML:
<param name="Текст">3534апвап</param>

Сразу замечу что важно вырезать тег именно с атрибутом - name="Текст"

Спасибо за помощь!
 
PHP:
<?php

echo preg_replace('|name=".+"|', '', '<param name="Текст">3534апвап</param>');
 
Получить или удалить?
Если удалить то

PHP:
<?php
$massiv_XML = "....";
$massiv_XML =preg_replace('<param name=".*?">.*?</param>', '', $massiv_XM)    ;
?>

Если в notepad++
<param .*?>.*?</param>
1650290615888.png

Ну а если получить, то тут нужно смотреть, как вы распарсили xml
 
Последнее редактирование:
PHP:
<?php

echo preg_replace('|name=".+"|', '', '<param name="Текст">3534апвап</param>');

Получить или удалить?
Если удалить то

PHP:
<?php
$massiv_XML = "....";
$massiv_XML =preg_replace('<param name=".*?">.*?</param>', '', $massiv_XM)    ;
?>

Если в notepad++
<param .*?>.*?</param>

Ну а если получить, то тут нужно смотреть, как вы распарсили xml
Нужно вырезать полностью вырезать тег <param></param> именно с определенным значением атрибута name="Текст", а не все name="".
Внутри тега может быть - html, буквы, цифры, текст.
<param name="Текст">3534апвап</param>
 
Нужно вырезать полностью вырезать тег <param></param> именно с определенным значением атрибута name="Текст", а не все name="".
Внутри тега может быть - html, буквы, цифры, текст.
<param name="Текст">3534апвап</param>

Для notepad++
<param name="Текст">.*?</param>

PHP:
<?php
$massiv_XML = "....";
$massiv_XML =preg_replace('<param name="Текст">.*?</param>', '', $massiv_XM)    ;
?>
 
В Python

Python:
>>> import re
>>> re.sub(r'(\<(/?[^>]+)>)', '', '<b>Текст с <br/>тегами</b>')
'Текст с тегами'

в JavaScript

JavaScript:
>>> console.log('<b>Текст с <br/>тегами</b>'.replace(/(\<(\/?[^>]+)>)/g, ''))
"Текст с тегами"
 
На пышке вот так еще можно

PHP:
$html = '<param name="Текст">3534апвап</param>';
$pattern = '/<param\s+name="Текст">.*?<\/param>/s';
$result = preg_replace($pattern, '', $html);
echo $result; // выведет ''

В примере функция preg_replace() заменяет найденный тег и его содержимое на пустую строку.

А если мы захотим заменить "3534апвап" на регулярное выражение "Всем привет", тогда можно подставить в одинарные кавычки данное выражение.

PHP:
$html = '<param name="Текст">3534апвап</param>';
$pattern = '/<param\s+name="Текст">.*?<\/param>/s';
$result = preg_replace($pattern, 'Все привет', $html);
echo $result; // выведет 'Все привет'
 
Назад
Верх