I am validating my site using http://validator.w3.org and have an issue where there is an &
in my link description text.
This is taken from the source:
<a class='tag' href='/php/iphone software.php?function=developer&dev=witch%26wizards+inc.&store=143441'>witch&wizards inc.</a>
This gives this error in the validator:
Line 188, Column 540: cannot generate system identifier for general entity "wizards"
…6wizards+inc.&store=143441'>witch&wizards inc.
✉ An entity reference was found in the document, but there is no reference by that name defined
If I urlencode the description then the validation passes, but the user then sees the text displayed urlencoded, ie
Developer witch%26wizards+inc.
However, I believe it's much more user friendly if this was displayed unencoded, ie
Developer witch&wizards inc.
Is there a way to pass validation, but still have user friendly text displayed?
Simple:
For ampersands as part of query string values, URL encode them to %26
.
For displaying ampersands as text, or ampersands used to separate query string key-value pairs — in other words, for almost everything else — HTML encode them to their entities &
.
Your HTML should look like this:
<a class='tag' href='/php/iphone%20software.php?function=developer&dev=witch%26wizards+inc.&store=143441'>witch&wizards inc.</a>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With