From: Raymond Irving on
Hello,

Sorry to have to be writing to you directly. I've tried sending this email
to the mailing list but it keeps returning with a failure message:

Remote host said: 550 5.7.1 reject mailfrom [sbl]

It appears that my yahoo about has been black listed?

Anyway, I'm hoping you can help me with the following issue:

I'm getting a php warning from DOMDocument after running a test script that
tried to load some html inside the DOM and then echo the html to the
browser:

Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Unexpected end tag
: strong in Entity, line: 8 in C:\www\dom-test.php on line 23

The problem is that DOMDocument::loadHTML() attempts to remove the
'</strong>' tag from within a JavaScript string variable inside the
<script> tag. If I try to wrap <!-- --> around the content of the <script>
tag it will still throw the error.


I've tested it with php *5.2.0, 5.2.6, 5.2.11*, *5.3* and *5.3.2*. It
appears to work just fine in version 5.2.0 but the other version throw the
above error.

Here's the script. Can anyone confirm this error or is there a known
workaround?

<?php

$html = '
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript">
var html = "<strong>Bold Text</strong>,Normal Text";
document.write(html);
alert(html);
</script>
</head>
<body> </body>
</html>
';

$dom = new DOMDocument();
$dom->loadHTML($html);

echo $dom->saveHTML();

?>


Best regards
__
Raymond Irving
From: Richard Quadling on
On 6 June 2010 19:56, Raymond Irving <xwisdom(a)gmail.com> wrote:
> Hello,
>
> Sorry to have to be writing to you directly. I've tried sending this email
> to the mailing list but it keeps returning with a failure message:
>
> Remote host said: 550 5.7.1 reject mailfrom [sbl]
>
> It appears that my yahoo about has been black listed?
>
> Anyway, I'm hoping you can help me with the following issue:
>
> I'm getting a php warning from DOMDocument after running a test script that
> tried to load some html inside the DOM and then echo the html to the
> browser:
>
> Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Unexpected end tag
> : strong in Entity, line: 8 in C:\www\dom-test.php on line 23
>
> The problem is that DOMDocument::loadHTML() attempts to remove the
> '</strong>'  tag from within a JavaScript string variable inside the
> <script> tag. If I try to wrap <!-- --> around the content of the <script>
> tag it will still throw the error.
>
>
> I've tested it with php *5.2.0, 5.2.6, 5.2.11*, *5.3* and *5.3.2*. It
> appears to work just fine in version 5.2.0 but the other version throw the
> above error.
>
> Here's the script. Can anyone confirm this error or is there a known
> workaround?
>
> <?php
>
> $html = '
> <!DOCTYPE html>
> <html>
>    <head>
>        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
>        <script type="text/javascript">
>            var html = "<strong>Bold Text</strong>,Normal Text";
>            document.write(html);
>            alert(html);
>        </script>
>    </head>
>    <body> </body>
> </html>
> ';
>
> $dom = new DOMDocument();
> $dom->loadHTML($html);
>
> echo $dom->saveHTML();
>
> ?>
>
>
> Best regards
> __
> Raymond Irving
>

Should the HTML be wrapped ...

<![CDATA[
<html><tag><soup>here</soup></tag></html>
]]>

?

--
-----
Richard Quadling
"Standing on the shoulders of some very clever giants!"
EE : http://www.experts-exchange.com/M_248814.html
EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
ZOPA : http://uk.zopa.com/member/RQuadling
From: Richard Quadling on
On 6 June 2010 19:56, Raymond Irving <xwisdom(a)gmail.com> wrote:
> Hello,
>
> Sorry to have to be writing to you directly. I've tried sending this email
> to the mailing list but it keeps returning with a failure message:
>
> Remote host said: 550 5.7.1 reject mailfrom [sbl]
>
> It appears that my yahoo about has been black listed?
>
> Anyway, I'm hoping you can help me with the following issue:
>
> I'm getting a php warning from DOMDocument after running a test script that
> tried to load some html inside the DOM and then echo the html to the
> browser:
>
> Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Unexpected end tag
> : strong in Entity, line: 8 in C:\www\dom-test.php on line 23
>
> The problem is that DOMDocument::loadHTML() attempts to remove the
> '</strong>'  tag from within a JavaScript string variable inside the
> <script> tag. If I try to wrap <!-- --> around the content of the <script>
> tag it will still throw the error.
>
>
> I've tested it with php *5.2.0, 5.2.6, 5.2.11*, *5.3* and *5.3.2*. It
> appears to work just fine in version 5.2.0 but the other version throw the
> above error.
>
> Here's the script. Can anyone confirm this error or is there a known
> workaround?
>
> <?php
>
> $html = '
> <!DOCTYPE html>
> <html>
>    <head>
>        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
>        <script type="text/javascript">
>            var html = "<strong>Bold Text</strong>,Normal Text";
>            document.write(html);
>            alert(html);
>        </script>
>    </head>
>    <body> </body>
> </html>
> ';
>
> $dom = new DOMDocument();
> $dom->loadHTML($html);
>
> echo $dom->saveHTML();
>
> ?>
>
>
> Best regards
> __
> Raymond Irving
>

Or should the html that is inside the JS be urlencoded?

&lt;strong&gt;

?

--
-----
Richard Quadling
"Standing on the shoulders of some very clever giants!"
EE : http://www.experts-exchange.com/M_248814.html
EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
ZOPA : http://uk.zopa.com/member/RQuadling
From: Nisse =?utf-8?Q?Engstr=C3=B6m?= on
On Sun, 6 Jun 2010 13:56:25 -0500, Raymond Irving wrote:

> Here's the script. Can anyone confirm this error or is there a known
> workaround?
>
> <?php
>
> $html = '
> <!DOCTYPE html>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
> <script type="text/javascript">
> var html = "<strong>Bold Text</strong>,Normal Text";
> document.write(html);
> alert(html);
> </script>
> </head>
> <body> </body>
> </html>
> ';

In HTML, the "</" sequence closes the <script> element.
You can escape the "/" character with a backslash:

<strong>Bold Text<\/strong>,Normal Text


/Nisse
From: Raymond Irving on
Hi Richard,

<![CDATA[

<html><tag><soup>here</soup></tag></html>

]]>


I believe putting <![CDATA[ ]]> around the HTML will not work when using
<DOCTYPE html> and it will also prevent the html from being parsed into
nodes that can be access via the DOM APIs

Or should the html that is inside the JS be urlencoded?


&lt;strong&gt;

This works but the only drawback is that we would have to decode it when we
want to generate HTML inside the browser

Many thanks for the feedback

Best regards,
__
Raymond Irving

On Mon, Jun 7, 2010 at 4:45 AM, Richard Quadling <rquadling(a)gmail.com>wrote:

> On 6 June 2010 19:56, Raymond Irving <xwisdom(a)gmail.com> wrote:
> > Hello,
> >
> > Sorry to have to be writing to you directly. I've tried sending this
> email
> > to the mailing list but it keeps returning with a failure message:
> >
> > Remote host said: 550 5.7.1 reject mailfrom [sbl]
> >
> > It appears that my yahoo about has been black listed?
> >
> > Anyway, I'm hoping you can help me with the following issue:
> >
> > I'm getting a php warning from DOMDocument after running a test script
> that
> > tried to load some html inside the DOM and then echo the html to the
> > browser:
> >
> > Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Unexpected end
> tag
> > : strong in Entity, line: 8 in C:\www\dom-test.php on line 23
> >
> > The problem is that DOMDocument::loadHTML() attempts to remove the
> > '</strong>' tag from within a JavaScript string variable inside the
> > <script> tag. If I try to wrap <!-- --> around the content of the
> <script>
> > tag it will still throw the error.
> >
> >
> > I've tested it with php *5.2.0, 5.2.6, 5.2.11*, *5.3* and *5.3.2*. It
> > appears to work just fine in version 5.2.0 but the other version throw
> the
> > above error.
> >
> > Here's the script. Can anyone confirm this error or is there a known
> > workaround?
> >
> > <?php
> >
> > $html = '
> > <!DOCTYPE html>
> > <html>
> > <head>
> > <meta http-equiv="Content-Type" content="text/html;
> charset=UTF-8"/>
> > <script type="text/javascript">
> > var html = "<strong>Bold Text</strong>,Normal Text";
> > document.write(html);
> > alert(html);
> > </script>
> > </head>
> > <body> </body>
> > </html>
> > ';
> >
> > $dom = new DOMDocument();
> > $dom->loadHTML($html);
> >
> > echo $dom->saveHTML();
> >
> > ?>
> >
> >
> > Best regards
> > __
> > Raymond Irving
> >
>
> Or should the html that is inside the JS be urlencoded?
>
> &lt;strong&gt;
>
> ?
>
> --
> -----
> Richard Quadling
> "Standing on the shoulders of some very clever giants!"
> EE : http://www.experts-exchange.com/M_248814.html
> EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp
> Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
> ZOPA : http://uk.zopa.com/member/RQuadling
>