Re: [PHP] Encoding for W3C Validation

[email protected] (Ashley Sheridan)
Newsgroups php.general
Message-ID <1280861184.2885.4.camel@localhost>
On Tue, 2010-08-03 at 14:41 -0400, Rick Dwyer wrote:

> Hello List.
> 
> In the Alt section of the IMG tag below, the variable $myitem has a value of "Who's There".
> 
> echo "<div class='myclass'><a href='#' class='color_thumb'> <img src='/itemimages/$mypic' alt='$myitem' width='60' ....
> 
> When running through W3C validator, the line errors out because of the " ' " in "Who's".
> I tried:
> $myitem=(htmlentities($myitem));
> 
> But this has no affect on "Who's".
> 
> What's the best way to code this portion so the apostrophe is handled correctly?
> 
> 
> TIA,
> 
> --Rick
> 
> 
> 
> 


Well, because the way you're using htmlentities() there is ignoring
single quotes, i.e. not escaping them. Try myitem=htmlentities($myitem,
ENT_QUOTES); instead.

Also, as an aside, I think it's general acceptance to use double quotes
on HTML attributes rather than single. While that does make for
complications when the HTML is part of a double-quoted string in PHP, it
does avoid tricker problems surrounding Javascript event handlers on
code, which generally use single quotes when they are part of an HTML
attribute.

Thanks,
Ash
http://www.ashleysheridan.co.uk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.