PHP:从XML读取内容时未进行HTML格式化

PHP:从XML读取内容时未进行HTML格式化,php,xml,Php,Xml,我正在从XML文件中读取内容以显示网页内容,请参阅读取XML文件的代码段 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $arg = $_

我正在从XML文件中读取内容以显示网页内容,请参阅读取XML文件的代码段

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
    <?php
    $arg = $_GET['content'];
    //echo $arg;
    $doc = new DOMDocument();
    $doc->load('History.XML');
    $contents = $doc->getElementsByTagName($arg);
    $content1 = $contents->item(0)->nodeValue;
    $content2 = $contents->item(1)->nodeValue;

    ?>

        <p> 
        <?php 
        echo <<<EOM
        $content1 
    EOM;
        ?> 
        </p> 
    </body>
</html>


XML文件内容有一些HTML格式标记,如
等,但是从XML读取和显示这些内容时,HTML格式不会发生。
如果我有任何错误,请澄清。

nodeValue
在您的案例中是所有文本节点的串联。
改用

独立示例:

<?php
$arg = 'foo';
$doc = new DOMDocument();
$doc->loadxml('<x>
    <foo><h1>lalala</h1><b>xyz</b></foo>
    <foo>12345</foo>
</x>');
$contents = $doc->getElementsByTagName($arg);
$content1 = $contents->item(0);
$content2 = $contents->item(1);
?>
<html>
  <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title></title>
  </head>
  <body>
    <p><?php echo $doc->savexml($content1); ?></p> 
  </body>
</html>

印刷品

<html>
  <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title></title>
  </head>
  <body>
    <p><foo><h1>lalala</h1><b>xyz</b></foo></p> 
  </body>
</html>

Lalaxyz


nodeValue
在您的例子中是所有文本节点的串联。
改用

独立示例:

<?php
$arg = 'foo';
$doc = new DOMDocument();
$doc->loadxml('<x>
    <foo><h1>lalala</h1><b>xyz</b></foo>
    <foo>12345</foo>
</x>');
$contents = $doc->getElementsByTagName($arg);
$content1 = $contents->item(0);
$content2 = $contents->item(1);
?>
<html>
  <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title></title>
  </head>
  <body>
    <p><?php echo $doc->savexml($content1); ?></p> 
  </body>
</html>

印刷品

<html>
  <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title></title>
  </head>
  <body>
    <p><foo><h1>lalala</h1><b>xyz</b></foo></p> 
  </body>
</html>

Lalaxyz