По умолчанию DOMDocument::$preserveWhiteSpace
имеет значение true. Попробуйте установить значение false в соответствующем документе, а затем снова вызвать saveXML
. Это может иметь побочные эффекты, если какие-либо пробелы внутри документа действительно имеют значение. Вы также должны убедиться, что DOMDocument::$formatOutput
неверно.
Как сказал Гордон, тем не менее, нет никаких логических причин для ограничения пробелов. Хотя, если серьезно, если вам вообще не нужны какие-либо пробелы, просто убедитесь, что все символы CR / LF, которые вы хотите сохранить, закодированы как сущности, а затем $nonewlines = preg_replace("/[\r\n]/", '', $xml)
, чтобы вырвать символы новой строки, которые могут остаться после выключения Preserve и Формат. Но опять же, это глупо .