Re: HTML errors

From: Date: Wed, 12 Jan 2011 19:30:47 +0000
Subject: Re: HTML errors
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-310702@lists.php.net to get a copy of this message
At 10:35 PM -0500 1/11/11, David McGlone wrote:
Hi Everyone, I'm having a problem validating some links I have in a foreach. Here is my code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> my PHP code: $categorys = array('home', 'services', 'gallery', 'about_us', 'contact_us', 'testimonials'); foreach($categorys as $category){ $replace = str_replace("_", " ", $category); echo "<li><a href='index.php?page=$category'>$replace</a></li>"; } Validator Error: an attribute value must be a literal unless it contains only name characters Šome>home</a></li><li><a href=index.php?page=services>services</a></li><li><a hŠ I have tried various combinatons and different doctypes. I'm beginning to wonder if this code is allowed at all. -- Blessings David M.
David: First of all, the type (strict or transitional) of DOCTYPE doesn't matter -- it only matters IF you are going to use deprecated HTML elements (transitional) or not (strict). Second, your <li> (i.e., list) should start with a "type of list" tag, such <ol> for ordered list -- there are several different types (i.e., ol, ul, dir, menu, dl dt dd). Third, you might try this: echo("<li><a href=\"index.php?page=$category\">$replace</a></li>"); The Validator might be objecting to the way you use ' instead of ". HTH's Cheers, tedd -- ------- http://sperling.com/

« previous php.general (#310702) next »