web-dev-qa-db-fra.com

Définir le code HTML à l'intérieur PHP les variables

Je veux inclure du code html dans les variables php ..__ Je me souviens qu'il y avait un moyen de définir du code html dans une variable php, quelque chose de similaire à ceci:

<?php $my_var = { ?>
<div>SOME HTML</div>
<?php } ?>

Je l'ai trouvé sur PHP.net mais je ne le trouve pas maintenant . Il y avait autre chose à la place du "{" mais je ne me souviens pas exactement . Je cherche à écrire directement le code html comme ci-dessus, alors NOT comme ceci: $my_var = '<div>SOME HTML</div>'; Des idées?

15
adrianTNT
<?php
$my_var = <<<EOD
<div>SOME HTML</div>
EOD;
?>

Cela s'appelle heredoc syntax.

35
Emil Vikström

Essaye ça:

<?php ob_start(); ?>
<div>HTML goes here...</div>
<div>More HTML...</div>
<?php $my_var = ob_get_clean(); ?>

De cette façon, vous conserverez la coloration syntaxique pour HTML.

47
erfan

Enregistrez votre code HTML dans un fichier séparé: example.html. Lisez ensuite le contenu du fichier dans une variable.

$my_var = file_get_contents('example.html');
8
bart

Si vous ne vous souciez pas de la coloration HTML, vous pouvez simplement définir une variable normale. Vous ne devez pas non plus échapper à HTML car PHP vous permet d'utiliser des guillemets simples pour définir une variable, ce qui signifie que vous pouvez utiliser des guillemets doubles dans votre code HTML.

$html = '
 <p>
  <b><i>Some html within a php variable</i><b>
 </p>
 <img src="path/to/some/boat.png" alt="This is an image of a boat">
' ;

Cela fonctionne parfaitement pour moi, mais je suppose que c'est une question de préférence et de mise en œuvre.

2
Mick Houtveen

Si vous voulez faire écho au contenu, une autre façon de le faire consiste à utiliser des fonctions,

cela présente également l'avantage supplémentaire des programmes utilisant la coloration syntaxique.

function htmlContent(){
?>
    <h1>Html Content</h1>
<?php
}


htmlContent();
?>
2
RedSparr0w

Pour définir le code HTML dans une variable PHP:

1) Utiliser une fonction (Ref: @ RedSparr0w)

<?php
function htmlContent(){
?>

    <h1>Html Content</h1>

<?php
}
?>

2. Stocker dans une variable

$var = htmlContent();
0
S R Panda