Удалите определенный XML-тег из строки с помощью PHP


Мне нужно удалить только определенный тег </licenses> из XML-файла, сохраненного в переменной.

Я пробовал это, но не получил ожидаемого результата:

<?php

  print preg_replace("</licenses>", "", "</licenses>");

?>

Возвращает:

<>

И, что удивительно, следующее удаляет содержимое всех тегов:

<?php

  print preg_replace("<>", "", "</licenses>");

?>

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

Author: Jamus, 2013-12-17

2 answers

Вам нужно использовать разделитель регулярных выражений в первом аргументе preg_replace, который является регулярным выражением:

 echo preg_replace("#</licenses>#", "", "</licenses>");

Это вернет пустую строку, как и ожидалось.

 3
Author: anubhava, 2013-12-17 12:30:05

Вы можете использовать его.

print preg_replace("/<\/licenses>/", "", "</licenses>");
 2
Author: harry, 2013-12-17 12:31:52