2011-08-22 16 views
5

Probabilmente è una domanda stupida, ma non riesco a trovare una risposta. Come posso modificare l'output dell'eco con css? Ho questo codice:come stile php echo output

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

Ora visualizza errore di sintassi, penso a causa di quelle virgolette intorno ErrorMsg. Ho provato le virgolette singole, ma senza alcun effetto. Grazie

+0

non avresti dovuto accettare la risposta che hai fatto, questa era originariamente una domanda CSS – Dunhamzzz

risposta

7

tenta

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

Questa non avrebbe dovuto essere contrassegnata come risposta, poiché la domanda riguardava lo stile CSS – Dunhamzzz

1

Usa virgolette singole intorno errormsg e quello che hai dovrebbe funzionare bene. In alternativa, ma meno in ordine, puoi sfuggire alle doppie virgolette con una barra rovesciata.

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

Prima di tutto bisogna usare sia per apostrofi per circondare il valore di attributo:

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

Oppure si potrebbe invertire questo, per dare:

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

Oppure si dovrebbe sfuggire al citazioni:

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

E poi lo stile l'elemento risultante con il CSS:

#errormsg { 
    /* css */ 
} 

Il problema di sintassi si stava incontrando è il risultato di terminare la stringa e poi avere un elemento disparate tra la prima e seconda corda, con la quale il PHP non ha alcuna idea di cosa fare.

13

Quando si emette HTML, è più facile da usare apici in modo da poter usare le virgolette doppie corretto all'interno in questo modo:

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

che sbarazzarsi del vostro errore di analisi ... per modificare lo stile è necessario usare i CSS con il selettore di #errormsg in questo modo:

#errormsg { 
    color: red; 
} 
2

per mettere le virgolette all'interno di una stringa con virgolette doppie, è necessario "fuga" li mettendo blackslashes prima di loro:

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

In questo caso, un'altra scelta consiste nell'utilizzare le virgolette singole per l'una o l'altra.

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

la documentazione di PHP ha a section explaining the different string syntaxes, che dovrebbe spiegare tutto ciò che volete sapere su questo argomento.

1

Si verifica un errore di sintassi perché si includono virgolette doppie senza escape in una stringa delimitata da virgolette doppie.

O sfuggire loro

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

o utilizzare le virgolette singole

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

Il browser non importa se si è generato markup usando echo o qualcos'altro. Vede solo l'HTML che gli viene inviato.

Per la marcatura sopra, è possibile lo stile utilizzando un selettore id: si applicherà

#errormsg { /* … */ } 

Le regole usuali per la cascata (compresa la specificità).