2011-08-22 4 views
5

C'est probablement une question stupide, mais je ne trouve pas de réponse. Comment puis-je styliser la sortie echo avec css? J'ai ce code:comment styliser la sortie php echo

echo "<div id="errormsg"> Error </div>"; 

Maintenant, il affiche une erreur de syntaxe, je pense à cause de ces guillemets autour de errormsg. J'ai essayé des guillemets simples, mais sans effet. Merci

+0

Vous ne devriez pas avoir accepté la réponse que vous avez faite, c'était à l'origine une question CSS – Dunhamzzz

Répondre

7

essayez

echo "<div id=\"errormsg\"> Error </div>"; 
+2

Cela n'aurait pas dû être marqué comme la réponse, comme la question était sur le style CSS – Dunhamzzz

1

Utilisez des guillemets simples autour errormsg et ce que vous avez devrait fonctionner très bien. Alternativement, mais moins bien rangé, vous pouvez échapper aux doubles guillemets avec un antislash.

echo "<div id='errormsg'> Error </div>"; 
4

D'abord, vous devez soit utiliser les guillemets simples pour entourer la valeur d'attribut:

echo "<div id='errormsg'> Error </div>"; 

Ou vous pouvez inverser cette tendance, pour donner:

echo '<div id="errormsg"> Error </div>'; 

Ou vous devez échapper à la citations:

echo "<div id=\"errormsg\"> Error </div>"; 

Et puis le style de l'élément résultant avec le CSS:

#errormsg { 
    /* css */ 
} 

Le problème de syntaxe que vous rencontrez est le résultat de mettre fin à la chaîne et ayant un élément disparate entre les première et deuxième chaînes, avec laquelle PHP n'a aucune idée de quoi faire.

13

Lors de la sortie HTML, il est plus facile d'utiliser des guillemets simples afin que vous puissiez utiliser appropriées guillemets doubles à l'intérieur comme ceci:

echo '<div id="errormsg"> Error </div>'; 

qui va se débarrasser de votre erreur d'analyse ... Pour modifier le style que vous aurez besoin utiliser CSS avec le sélecteur de #errormsg comme ceci:

#errormsg { 
    color: red; 
} 
2

pour mettre des guillemets doubles à l'intérieur d'une chaîne entre guillemets, vous devez les « évasion » en mettant blackslashes devant eux

echo "<div id=\"errormsg\"> Error </div>"; 

Dans ce cas, un autre choix consiste à utiliser des guillemets simples pour l'un ou l'autre.

echo "<div id='errormsg'> Error </div>"; 
echo '<div id="errormsg"> Error </div>'; 

documentation de PHP a a section explaining the different string syntaxes, qui devrait expliquer tout ce que vous voulez savoir sur ce sujet.

1

Vous obtenez une erreur de syntaxe car vous incluez des guillemets doubles non échappés dans une chaîne délimitée par des guillemets doubles.

Soit leur échapper

echo "<div id=\"errormsg\"> Error </div>"; 

ou utiliser des guillemets simples

echo '<div id="errormsg"> Error </div>'; 

Le navigateur ne se soucie pas si vous avez généré un balisage en utilisant echo ou autre chose. Il voit juste le HTML que vous lui envoyez.

Pour le balisage ci-dessus, vous pouvez définir le style à l'aide d'un sélecteur d'identification:

#errormsg { /* … */ } 

Les règles habituelles de la cascade (y compris la spécificité) appliquera.