2010-05-18 5 views
1

Voici mon code exact.Pourquoi echo-ing "<! <" Renvoie "<! >"?

<?php 
echo "<! <"; 
?> 

Et ceci est la chaîne renvoyée.

<! > 

Pourquoi le dernier caractère change-t-il?

+2

pas pour moi. comment allez-vous cela? –

+2

Vu où ...? Sortie brute? Dans un navigateur? – deceze

+0

Je n'arrive pas non plus à reproduire cette erreur. –

Répondre

8

J'ai créé un script identique à celui détaillé par l'OP. Dans Firefox 3.6.3, le navigateur affiche <! <.

Dans Google Chrome v4.1, l'affichage du navigateur est vide, mais la source indique <! >.

Dans Internet Explorer 8, le navigateur affiche <! <. Dans Opera 10.53, le navigateur affiche < et la source affiche <! <.

Vous ne savez pas dans quel navigateur vous rencontrez des difficultés ou, d'ailleurs, pourquoi vous souhaitez afficher ces caractères dans une fenêtre de navigateur. Si vous voulez que ces caractères soient affichés, littéralement, alors utiliser quelque chose comme htmlentities() pour convertir ces caractères en caractères HTML qui seront affichés par le navigateur, serait la manière recommandée pour que cela se produise.

+1

+1 pour htmlentities – knittl

+0

Je regardais la source de Google Chrome, qui est apparemment le seul navigateur à montrer la mauvaise source. Donc, ce serait un problème de Chrome de ne pas afficher la bonne source. A l'origine lors de la création de flux RSS avec des balises contenant des sections CDATA dans lesquelles un élément externe apparaît dans la source Chrome. content

]]>"; ?> Si c'est un problème de Chrome alors je suppose que le problème est résolu. – mkeblx

1

Si vous lui donnez un en-tête "Content-Type: text/plain", chrome devrait le rendre normalement.

il est possible que vous envoyiez un en-tête "text/html" ou que vous n'envoyiez pas d'en-tête Content-Type, donc le navigateur doit deviner de quel type de contenu il s'agit.

Questions connexes