|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2019-06-08 14:41 UTC] nospam at unclassified dot de
[2019-11-02 19:20 UTC] nospam at unclassified dot de
[2020-06-07 15:33 UTC] nospam at unclassified dot de
[2020-06-08 09:09 UTC] cmb@php.net
-Status: Open
+Status: Feedback
-Package: *General Issues
+Package: DOM XML related
-Assigned To:
+Assigned To: cmb
[2020-06-08 09:09 UTC] cmb@php.net
[2020-06-14 17:42 UTC] nospam at unclassified dot de
-Status: Feedback
+Status: Assigned
[2020-06-14 17:42 UTC] nospam at unclassified dot de
[2020-06-14 20:58 UTC] cmb@php.net
[2020-06-16 16:10 UTC] cmb@php.net
-Status: Assigned
+Status: Open
-Assigned To: cmb
+Assigned To:
[2021-01-18 17:50 UTC] cmb@php.net
-Status: Open
+Status: Feedback
-Assigned To:
+Assigned To: cmb
[2021-01-18 17:50 UTC] cmb@php.net
[2021-01-31 04:22 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 05:00:01 2025 UTC |
Description: ------------ The DOMDocument removes whitespace between HTML elements when loading and saving HTML content. This leads to wrong display of content. The bug only affects Linux, it works correctly in Windows (same version). Test script: --------------- <?php $html = '<html> <body> <p> Text </p> <lang>Logged in as</lang> <strong>user</strong> <script src="jquery-3.4.1.min.js"></script> <script src="site.js"></script> </body> </html>'; libxml_use_internal_errors(true); $dom = new DOMDocument(); $dom->loadHTML($html); header('Content-Type: text/plain'); echo $dom->saveHTML(); Expected result: ---------------- This is the output on Windows: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html> <body> <p> Text </p> <lang>Logged in as</lang> <strong>user</strong> <script src="jquery-3.4.1.min.js"></script> <script src="site.js"></script> </body> </html> Actual result: -------------- This is the output on Linux: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body> <p> Text </p> <lang>Logged in as</lang><strong>user</strong> <script src="jquery-3.4.1.min.js"></script><script src="site.js"></script></body></html> There is no space between "Logged in as" and "user". The <lang> element is a custom element that my PHP script will resolve into plain HTML.