2010-09-29 9 views
1

Je suis sur le point de terminer mon site Web de petites annonces dynamiques (php) et j'ai un peu de mal à trouver comment écrire les balises meta et title.Les moteurs de recherche et le caractère '&'

J'ai lu des articles mixtes sur le & signe, et comment l'utiliser dans le titre ou balises meta correctement.

Quel est le rôle de l'encodage de document et est-ce que le DOCTYPE a également un rôle à jouer?

Dans mon cas, cela est mon document top:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

Je me demande, dois-je écrire les et tags avec une '&' ou un '&amp;' au lieu?

À titre d'exemple:

<title>Dolce & Gabbana</title> 
      or 
<title>Dolce &amp; Gabbana</title> 

Je ne peux pas utiliser le mot « et » simplement parce qu'il n'a pas « look » aussi bon.

Merci

+0

peut-être que c'est le jeu de caractères charset = utf-8, essayez d'utiliser d'autres jeux –

+0

Cette question pourrait être une copie de [Dois-je vraiment besoin d'encoder ''' & '' comme ''? : // stackoverflow.com/questions/3493405/do-i-vraiment-besoin d'encoder-comme-ampli) – Gumbo

+0

Cela n'a rien à voir avec le jeu de caractères. –

Répondre

3

Dans ce cas, &amp; et même & sont valides car ce dernier est suivi d'un espace et ne peut donc pas être confondu avec un délimiteur ouvert de référence.

Mais le HTML 4 specification recommends to use &amp; pour éviter toute ambiguïté:

Les auteurs doivent utiliser « &amp; » (décimal ASCII 38) au lieu de « & » pour éviter toute confusion avec le début d'une référence de caractère (référence entité delimiter ouvert). Les auteurs doivent également utiliser "&amp;" dans les valeurs d'attribut car les références de caractères sont autorisées dans les valeurs d'attribut CDATA.

Voir my answer on Do I really need to encode '&' as '&amp;'? pour plus d'informations.

1

Pour moi, une hypen '-' fonctionne mieux. Personne ne va chercher avec un symbole d'esperluette de toute façon.

0

Le symbole & est invalide en HTML, sauf dans le cadre d'une entité (comme &amp;).

Cela répond un peu à votre question - votre premier exemple est HTML invalide, vous devriez donc utiliser le second.

La plupart des navigateurs vont faire face au premier exemple, car il n'y a pas d'ambiguïté, mais vous devriez toujours utiliser le code d'entité si vous voulez produire du bon code.

+0

-1 Vous avez tort. C'est valide dans ce cas. – Gumbo

+0

@Gumbo - le validateur w3c n'est pas d'accord avec vous. (en supposant que le mode strict, selon la question) – Spudley

+0

Invalide en HTML4, valide en HTML5. –

Questions connexes