I\'m inserting content which has the &
sign. I would like to know if it\'s needed to insert it as &
so this sign is read correctly.
In HTML5, you are not allowed to use "ambiguous ampersands" in attribute values:
Attribute values are a mixture of text and character references, except with the additional restriction that the text cannot contain an ambiguous ampersand.
An ambiguous ampersand is defined as:
[…] a U+0026 AMPERSAND character (&) that is followed by one or more alphanumeric ASCII characters, followed by a ";" (U+003B) character, where these characters do not match any of the names given in the named character references section.
In your example (&B lorem
), the ampersand (&
) is followed by an alphanumeric ASCII character (B
), but this one is not followed by a semicolon (;
). So your ampersand is not ambiguous.
Which means that both of your examples are valid.
It depends on the search engine. Google tends to pick this up as a string so you would want to add &
and other related ascii codes.
I recommend due to web standards that you always write an ampersand as &
You always represent an ampersand in HTML content as &
or &
, never a bare &
. This includes both text between an element's tags, as well as attribute values. No exceptions.
This is because &
itself denotes the start of an HTML entity reference (as seen above) and can often cause problems when appearing in the middle of text that could be interpreted as an entity reference.