【问题标题】:Remove leading whitespace from xml using php使用php从xml中删除前导空格
【发布时间】:2017-06-15 09:08:32
【问题描述】:

我需要删除下面 xml 中的前导空格,

1
2 <?xml version="1.0" encoding="UTF-8"?>
3 <VAST version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd">
4 </VAST>

我在 $html 等变量中高于 xml 并使用 trim() 函数删除 xml ex 中的前导空格:echo trim($html),但它不会删除空格。 任何帮助表示赞赏

【问题讨论】:

  • 它可能不是“只是”空格。尝试找出确切存在哪些字节。 ord() 可能会有所帮助。
  • 为什么需要去掉前导空格? XML 用于机器阅读。
  • 如果我运行 php 文件意味着它只显示白屏,如果按 ctrl+U 意味着只有 xml 在屏幕中可见,第一行有空格

标签: php xml


【解决方案1】:

trim 仅从字符串中删除特定的空白字符。但是,如果您的字符串包含其他未呈现的字符,它将不起作用。

对此的候选者是 BOM(字节顺序标记)。它由浏览器解释但不呈现。所以它不会是可见的。字节本身不是 trim()ltrim() 将删除的字符的一部分。

这是一个例子:

$string = "\xEF\xBB\xBF\r\n<foo/>";
var_dump(trim($string));

输出:

string(11) "
<foo/>"

如果您知道字符串是 XML,您可以使用字符串函数删除第一个 &lt; 之前的任何内容。

$string = substr($string, strpos($string, '<'));
var_dump($string);

输出:

string(6) "<foo/>"

【讨论】:

    【解决方案2】:

    如果你每次都在开头得到空格,你可以使用ltrim($html)

    【讨论】:

    • 是的尝试过,得到相同的结果总是在第一行显示空白
    • $html=' &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;VAST version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd"&gt; &lt;/VAST&gt;'; echo "&lt;pre&gt;"; print_r( simplexml_load_string(ltrim($html)));
    【解决方案3】:

    我似乎想删除第一行是空的而不是空格。

    删除 php 中的空行:

    $html = str_replace(array("\r", "\n"), '', $html);
    

    【讨论】:

    • 我尝试了你的答案,但没有得到预期的结果,第一行总是显示空白
    【解决方案4】:

    我在 WP 主题中遇到了完全相同的问题,我通过执行以下操作修复了它:

    1. 创建一个 .html 文件 - 例如。 rsshead.html 的内容为:&lt;?xml version="1.0" encoding="UTF-8"?&gt; - 从第 1 行文件的最开头开始;编码可以更改为最适合您的任何方式

    2. 将 HTML 文件包含到我的 PHP 文件中:include('rsshead.html'); 而不是 echo '&lt;?xml version="1.0" encoding="UTF-8"?&gt;'

    【讨论】:

      【解决方案5】:

      我遇到了同样的问题。似乎包含在 XML 生成代码之前的文件之一在 &lt;?php 声明之前包含一个空格:

       <?php
      

      而不是

      <?php
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-11
        • 2012-01-26
        • 2011-07-25
        相关资源
        最近更新 更多