Bug #70817 [Opn]: DOMDocument save removes html within a string
Edit report at https://bugs.php.net/bug.php?id=70817&edit=1
ID: 70817
User updated by: untuned20 at gmail dot com
Reported by: untuned20 at gmail dot com
Summary: DOMDocument save removes html within a string
Status: Open
Type: Bug
Package: DOM XML related
Operating System: Linux
PHP Version: 5.6.14
Block user comment: N
Private report: N
New Comment:
The above test script is wrong, it should be loadHTML() instead.
Test script:
---------------
<?php
$doc = new DOMDocument();
$doc->loadHTML('<html>
<head>
</head>
<body>
<script>
console.log("<h1>hello</h1>");
</script>
</body>
</html>');
echo $doc->saveHTML();
Previous Comments:
------------------------------------------------------------------------
[2015-10-30 00:44:37] untuned20 at gmail dot com
Description:
------------
When parsing a DOMDocument(), strings containing html are validated and probably shouldn't be.
For example when parsing a <script> tag containing html to be executed, the
parser will validate that html. In the example script, The parser removes the
</h1> leaving an invalid string of "<h1>hello".
Test script:
---------------
<?php
$doc = new DOMDocument();
$doc->loadXML('<html>
<head>
</head>
<body>
<script>
console.log("<h1>hello</h1>");
</script>
</body>
</html>');
echo $doc->saveHTML();
Expected result:
----------------
<html>
<head>
</head>
<body>
<script>
console.log("<h1>hello</h1>");
</script>
</body>
</html>
Actual result:
--------------
<html>
<head>
</head>r
<body>
<script>
console.log("<h1>hello");
</script>
</body>
</html>
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=70817&edit=1
Thread (5 messages)