PHP-从字符串中删除XML标记

PHP-从字符串中删除XML标记,php,xml,string,plsql,Php,Xml,String,Plsql,我将Oracle DB中的字符串值查询为PHP字符串,字符串周围有XML,如下所示: <?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><Title language-id="en_US">Batman</Title></root> <?xml version='1.0' encoding='UT

我将Oracle DB中的字符串值查询为PHP字符串,字符串周围有XML,如下所示:

<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><Title language-id="en_US">Batman</Title></root>
<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><Title language-id="en_US">Wonder Woman</Title></root>
<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><Title language-id="en_US">Fantastic Four</Title></root>
最好的方法是什么

我本来想试试substr,但意识到我不知道结局是什么,因为每个标题都不一样。我也试过脱衣标签,但没用


谢谢

使用
preg\u replace
并捕获
id=“en\u US”>
之间的字符串作为替换项

<?php

$xml = <<<EOF
<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><Title language-id="en_US">Batman</Title></root>
<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><Title language-id="en_US">Wonder Woman</Title></root>
<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><Title language-id="en_US">Fantastic Four</Title></root>
EOF;

$title = preg_replace('#.*id="en_US">(.*?)<.*#', '$1', $xml);
print $title;
您可以使用。这将返回一个,您可以从中获取
Title
属性:

$strXml = <<<XML
<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><Title language-id="en_US">Wonder Woman</Title></root>
XML;

$simpleXmlElement = simplexml_load_string($strXml);
$title = (string)$simpleXmlElement->Title;
echo $title;
这将给你:

神奇女侠

$strXml = <<<XML
<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><Title language-id="en_US">Wonder Woman</Title></root>
XML;

$simpleXmlElement = simplexml_load_string($strXml);
$title = (string)$simpleXmlElement->Title;
echo $title;
$doc = new DOMDocument();
$doc->loadXML($strXml);
echo $doc->getElementsByTagName("Title")[0]->nodeValue;