If you are going to use double quotes escape out. >> echo "<li><a href='index.php?page=".$category."'>".$replace."</a></li>"; On Jan 12, 2011, at 2:30 PM, tedd <tedd.sperling@xxxxxxxxx> wrote: > 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/ > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php