2009-11-09 2 views
0

Mon but est de stocker des données au format html dans une variable, puis de les répercuter plus tard.Comment affecter du HTML en tant que valeur de variable en PHP?

Par exemple:

<?php 
$foo = '<div id="x">'; 
echo $foo; 
?> 

La précède ne fonctionne pas. Pourquoi?

Modifier

Désolé pour la mauvaise question. Je pensais que ça ne marchait pas parce que rien n'est visible quand on le voit dans un navigateur. Bien sûr, rien n'est visible car il n'y a qu'un div et pas de texte. Doh! Ma version "réelle" du script ci-dessus a été cassée en raison d'une apostrophe supplémentaire.

+2

fonctionne très bien ici ... –

+0

Pouvez-vous expliquer ce que vous entendez par "ne fonctionne pas". Quelle est la sortie prévue et quelle est la sortie que vous obtenez? Ça fonctionne bien pour moi. –

+0

Par "ne fonctionne pas", je veux dire que rien ne s'affiche sur la page quand je m'attends à voir du HTML ... mais, voir mon édition ci-dessus. – edt

Répondre

9

Cela fonctionne probablement, mais vous ne le voyez pas car il se trouve dans le code source et ne s'affiche pas visuellement sur la page Web.

Souhaitez-vous réellement afficher le code source dans la page Web? Si c'est le cas, vous devrez activer les caractères < et > en &lt; et &gt; avec htmlspecialchars.

0

Fonctionne bien pour moi. L'erreur doit être ailleurs, vérifiez le journal des erreurs?

0
<?php 
$foo = '<div id="x">something</div>'; 
echo $foo; 
?> 

fonctionne pour moi. Vous n'avez pas fermé votre div.

8

Je ne vois pas ce qui ne fonctionnerait pas dans votre exemple (à moins que stackoverflow ne mette en cause certains de vos personnages). Vous êtes en alternance les citations. D'un autre côté, vous n'avez pas dit ce qui ne fonctionne pas. Est-ce une erreur de compilation ou rien n'est imprimé, ou ...?

est-ce que cela fonctionne?

$foo = "<div id=\"x\">"; 

s'il y a une bonne quantité de texte html, jetez un oeil à heredoc syntax.

$name = 'MyName'; 

echo <<<EOT 
My name is "$name". I am printing some $foo->foo. 
Now, I am printing some {$foo->bar[1]}. 
This should print a capital 'A': \x41 
EOT; 

ou ...

$mytext = <<<EOT 
... a bunch of html text here ... 
EOT; 
0
<div> 
<?php $chatid ="<div id='chatid'></div>"; 
echo $chatid; 
?> 
</div> 



<script> 
function chatuser(id) 
{ 
document.getElementById("chatid").innerHTML= id; 
} 
+1

Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire concernant la façon et/ou la raison pour laquelle il résout le problème améliorerait la valeur à long terme de la réponse. – Badacadabra

Questions connexes