首页 > 解决方案 > 防止 PHP 移除 XML 标签

问题描述

我希望 XML 用户像在 PHP 中一样以 HTML 形式输入所有元素/标签,我尝试了 PHP 的 Simple XML,但它从 XML 中删除了所有标签,只向我展示了这些 XML 标签中的内容/值,例如:

<tag>Hello</tag>

用户以 HTML 形式输入,我只收到 Hello,但我需要完整的代码。

编辑:

另一个示例 XML 代码:

<Orders>
<Order>
  <email>myemail@gmail.com</email>
  <Products>
    <Product>
      <Product_Id>242</Product_Id>
    </Product>
    <Product>
      <Product_Id>425</Product_Id>
    </Product>
  </Products>
</Order>
<Order>
  <email>youremail@gmail.com</email>
  <Products>
    <Product>
      <Product_Id>657</Product_Id>
    </Product>
    <Product>
      <Product_Id>789</Product_Id>
    </Product>
  </Products>
</Order>
</Orders>

PHP代码:

<div class="container" style="padding: 30px;">
    <form action="" method="post" id="xml-form" enctype="multipart/form-data">
        <label for="xml-text" style="line-height: 40px; font-size: 20px">XML Code:</label>
        <br>
        <textarea id="xml-text" name="xml-text" rows="30" cols="150" style="font-size: .8rem; letter-spacing: 1px; padding: 10px; line-height: 1.5; border-radius: 5px; border: 1px solid #ccc; box-shadow: 1px 1px 1px #999;"></textarea>
        <br>
        <input id="xml-sumbit" name="xml-sumbit" type="submit" value="Submit" style="margin-top: 20px; background-color: white; border-color: black;">
    </form>
</div>

<span id="test"></span>

<?php
if (isset($_POST['xml-sumbit']) && !empty($_POST["xml-text"])) {
  header('Content-Type: text/plain');
  print_r(explode("<Order>", $_POST["xml-text"]));
}

标签: phphtmlxml

解决方案


推荐阅读