http://qs321.pair.com?node_id=596774


in reply to Re^2: clean html tags
in thread clean html tags

The apos entity is an XML built it, and isn't defined for HTML. While some browsers support it in text/html documents, this is error correction and you should not use it.
Ah, that's interesting. I find it very useful to ensure that user-generated text doesn't break out of an HTML or JavaScript string, which is a big win IMHO. For example, if a template says:
<img src='$IMAGE1' alt='$DESCRIPTION1'>
I can be sure that $IMAGE1 and $DESCRIPTION1 won't mess up my HTML formatting if I can ensure it doesn't have apostrophes, but otherwise it's impossible.

Are you aware of any browsers that don't support this entity in HTML?

Replies are listed 'Best First'.
Re^4: clean html tags
by dorward (Curate) on Jan 27, 2007 at 01:01 UTC

    Ah, that's interesting. I find it very useful to ensure that user-generated text doesn't break out of an HTML or JavaScript string

    You get the same effect if you use the numeric character reference as described in the document I previously linked to, or avoid delimiting attribute values with single quotes and use the more conventional double quotes.

    Are you aware of any browsers that don't support this entity in HTML?

    Not off the top of my head, but using it in text/html is non-standard, and its easy to avoid.

      To follow up: I ignored dorward's advice and left this in, and it turns out it doesn't work well in some little browser called "Internet Explorer," which apparently some people like to use. :-)

      Changing &apos; to &39; fixed the problem, as he suggested it would.