插件窝 干货文章 php xml 去掉空格

php xml 去掉空格

xmlString 空格 去除 方法 771    来源:    2025-03-19

在 PHP 中,处理 XML 数据时,如果你想去除 XML 字符串中的空格,可以使用以下几种方法:

方法1:使用 trim()str_replace() 函数

如果你只是想去除 XML 字符串中的多余空格(例如换行符和制表符),可以使用 trim()str_replace() 函数。

$xmlString = '  <root>
    <element>value</element>
  </root>  ';

// 去除字符串两端的空格
$xmlString = trim($xmlString);

// 去除字符串中的多余空格(包括换行符和制表符)
$xmlString = str_replace(["\r", "\n", "\t"], '', $xmlString);

echo $xmlString;

方法2:使用 DOMDocument

如果你想要更精确地控制 XML 的结构,并且去除 XML 中的空白节点,可以使用 DOMDocument 类。

$xmlString = '  <root>
    <element>value</element>
  </root>  ';

$dom = new DOMDocument();
$dom->preserveWhiteSpace = false; // 忽略空白节点
$dom->loadXML($xmlString);

// 格式化输出
$dom->formatOutput = false;

// 获取去除空格后的 XML 字符串
$xmlString = $dom->saveXML();

echo $xmlString;

方法3:使用正则表达式

如果你想要去除 XML 字符串中的所有空格(包括标签之间的空格),可以使用正则表达式。

$xmlString = '  <root>
    <element>value</element>
  </root>  ';

// 去除所有空格
$xmlString = preg_replace('/\s+/', '', $xmlString);

echo $xmlString;

注意事项

  • 方法1方法3 会去除所有空格,包括标签之间的空格,这可能会影响 XML 的可读性。
  • 方法2 使用 DOMDocument 类可以更好地保留 XML 的结构,同时去除不必要的空白节点。

根据你的需求选择合适的方法。如果你需要保留 XML 的结构和可读性,推荐使用 方法2。如果你只是简单地去除所有空格,可以使用 方法1方法3