Как можно получить содержимое между двумя тегами в XML или YAML файле с помощью PHP?

Как можно удалить содержимое между тегами <description></description> в XML файле, скачанном с помощью curl или file_get_contents, чтобы результат соответствовал <br/><br/> или просто отсутствовало содержимое с этими тегами? Приведенный ниже PHP код, найденный в интернете, не помог в решении проблемы. Можете ли вы помочь с этим? 
  • 19 февраля 2024 г. 22:08
Ответы на вопрос 2
Для получения содержимого между двумя тегами в XML или YAML файле с помощью PHP можно использовать специальные библиотеки, такие как SimpleXML для XML или Symfony Yaml для YAML.

Пример получения содержимого между тегами <description></description> в XML файле с помощью SimpleXML:

```php
$xml = simplexml_load_file('file.xml');
$description = $xml->description;
echo $description;
```

Чтобы удалить содержимое между тегами <description></description> из XML файла, можно воспользоваться функцией preg_replace:

```php
$xml = file_get_contents('file.xml');
$new_xml = preg_replace('/<description>.*?<\/description>/s', '', $xml);
file_put_contents('new_file.xml', $new_xml);
```

Этот код заменит все содержимое между тегами <description></description> на пустую строку.

Если у вас возникли проблемы с этим кодом, пожалуйста, уточните их, чтобы мы могли помочь вам дальше.
нашла еще вот такое решение 
$xml=simplexml_load_file('1212.xml');

 $xg=$xml->xpath("channel/item");
   $xg[0]->description = "";
 $xml->asXML('111.xml');

оно работает, но проблема в том что в файле тег description вот так
и если подставляю
$xg[0]->g:description = "";
то дает ошибку.
как можно это решить ?
Похожие вопросы