我需要删除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)中的前导空格,但它没有删除空格。 Anyhelp赞赏
答案 0 :(得分:1)
trim
仅从字符串中删除特定的空白字符。但是,如果您的字符串包含其他非呈现字符,则无法使用。
此候选人是BOM(字节顺序标记)。它被解释但不被浏览器呈现。所以它不可见。字节本身不是trim()
或ltrim()
将删除的字符的一部分。
以下是一个例子:
$string = "\xEF\xBB\xBF\r\n<foo/>";
var_dump(trim($string));
输出:
string(11) "
<foo/>"
如果您知道字符串是XML,则可以使用字符串函数在第一个<
之前删除任何内容。
$string = substr($string, strpos($string, '<'));
var_dump($string);
输出:
string(6) "<foo/>"
答案 1 :(得分:0)
我似乎想要删除第一行是空的而不是空格。
删除php中的空行:
$html = str_replace(array("\r", "\n"), '', $html);
答案 2 :(得分:0)
如果每次使用ltrim($html)
答案 3 :(得分:0)
我在WP主题中遇到了完全相同的问题,我通过执行以下操作修复了它:
创建.html文件 - 例如。 rsshead.html的内容为:<?xml version="1.0" encoding="UTF-8"?>
- 从第1行文件的开头开始;编码可以更改为最适合您的方式
将HTML文件包含在我的PHP文件中:include('rsshead.html');
而不是echo '<?xml version="1.0" encoding="UTF-8"?>'