La nomenclature se trouve parfois à l'INTÉRIEUR du texte, et non au début - si un fichier a été assemblé à un moment donné par php à partir d'autres fichiers en utilisant par exemple include_once() . Pour le supprimer, effacez la zone comprise entre au moins un caractère avant la nomenclature et au moins un caractère après la nomenclature (juste au cas où). La position de la nomenclature peut être localisée dans F12 Developer Tools d'Internet Explorer et probablement d'Edge. Elle est visualisée sous la forme d'un diamant noir / losange .
Visual Studio et WebMatrix peuvent enregistrer les fichiers avec ou sans signature (au début).
La nomenclature provoque des erreurs lors de la validation ( https://validator.w3.org/#validate_by_upload ) ou dans les consoles - </HEAD> peut être traité comme un élément orphelin sans <HEAD>, lorsqu'il est apparemment présent !
Erreur : Balise de fin errante.
<BODY> comme deuxième <BODY>, alors qu'il n'existe qu'un seul <BODY> et que tout est correct :
Erreur : Le corps de la balise de début a été vu mais un élément du même type était déjà ouvert.
Et le document entier peut être vu sans DOCTYPE, lorsque la nomenclature ou deux nomenclatures occupent la première ligne et que DOCTYPE est sur la deuxième ligne, avec un message similaire à celui-ci :
Erreur : Caractères non spatiaux trouvés sans voir un doctype d'abord. Attendu, par exemple, <!DOCTYPE html>.
Erreur : L'élément head ne contient pas l'instance requise de l'élément enfant titre.
Erreur : Stray doctype.
Erreur : Balise de début erratique html.
Erreur : Tête de balise de début errant.
Erreur : Le nom de l'attribut n'est pas autorisé sur l'élément meta à ce stade.
Erreur : Il manque un ou plusieurs des éléments suivants à l'élément meta attributs : itemprop, propriété.
Erreur : Attribut http-equiv non autorisé sur l'élément meta à ce stade.
Erreur : Il manque un ou plusieurs des éléments suivants à l'élément meta attributs : itemprop, propriété.
Erreur : Le nom de l'attribut n'est pas autorisé sur l'élément meta à ce stade.
Erreur : Il manque un ou plusieurs des éléments suivants à l'élément meta attributs : itemprop, propriété.
Erreur : Le lien de l'élément manque la propriété de l'attribut requis.
Erreur : Le nom de l'attribut n'est pas autorisé sur l'élément meta à ce stade.
Erreur : Il manque un ou plusieurs des attributs suivants à l'élément meta attributs : itemprop, propriété.
Erreur : Le nom de l'attribut n'est pas autorisé sur l'élément meta à ce stade.
Erreur : Il manque un ou plusieurs des attributs suivants à l'élément meta attributs : itemprop, propriété.
Erreur : Le nom de l'attribut n'est pas autorisé sur l'élément meta à ce stade.
Erreur : Il manque un ou plusieurs des attributs suivants à l'élément meta attributs : itemprop, propriété.
Erreur : L'élément title n'est pas autorisé comme enfant de l'élément body dans ce contexte. contexte. (Suppression d'autres erreurs de ce sous-arbre).
Erreur : L'élément style n'est pas autorisé en tant qu'enfant de l'élément body dans le présent document. contexte. (Suppression des autres erreurs de ce sous-arbre).
Erreur : Balise de fin errante.
Erreur : Le corps de la balise de début a été vu mais un élément du même type était déjà ouvert.
Erreur fatale : Impossible de récupérer après la dernière erreur. Toute autre erreur sera seront ignorées.
( https://validator.w3.org/#validate_by_uri )
Et flux de messages dans la console IE F12 Developer Tools :
HTML1527 : DOCTYPE attendu. Envisagez d'ajouter un doctype HTML5 valide : "<!DOCTYPE html>".
HTML1502 : Unxpected DOCTYPE. Un seul DOCTYPE est autorisé et il doit se trouver avant tout élément.
HTML1513 : Balise "<html>" supplémentaire trouvée. Il ne doit y avoir qu'une seule balise "<html>" par document.
HTML1503 : Balise de début inattendue. HTML1512 : Balise de fin inattendue.
Tout est causé par une seule nomenclature au départ. Et le débogueur montre un losange noir sur la première ligne.
Les fichiers enregistrés avec la signature, mais non assemblés par php ne provoquent pas de telles erreurs et les diamants noirs ne sont pas visibles dans le débogueur d'IE. Il se peut donc que php transforme la nomenclature d'une manière ou d'une autre. Il semble que le fichier php principal doive être enregistré avec la signature pour que cela se produise.
Ces caractères étranges apparaissent au début et/ou sur les bords des fichiers fusionnés avec include_once() et ne sont pas visibles lorsque les fichiers sont enregistrés avant sans signature. C'est pour cela qu'il pointe vers l'implication de la nomenclature.
J'ai remarqué tout cela avant-hier lorsque j'ai commencé à convertir mon site Web en HTML5 et à le valider.
La nomenclature peut également créer un petit retrait en début de ligne. Deux fichiers contenant un texte identique, mais l'un avec une indentation.