[RESOLU] Insérer du HTML dans une variable PHP

kyfr59
Invité n'ayant pas de compte PHPfrance

09 nov. 2009, 19:06

Bonjour à tous,

Je dois remplir une variable PHP qui contient beaucoup de code XHTML.

J'utilise donc la syntaxe suivante :

Code : Tout sélectionner

$variable_php = <<<HTML <je met> <ici mon> ... ... <code xhtml> HTML;
Seulement voilà, j'ai quelques éléments dynamiques à insérer dans ce code.

Avec le code suivant ça ne fonctionne pas (le navigateur m'affiche les ';)

Code : Tout sélectionner

$variable_php = <<<HTML ... HTML; $variable_php .= '<p>'.$element_dynamique.'</p>'; $variable_php .= <<<HTML ... HTML;
Quelqu'un peut m'aider ?

D'avance merci.

Franck.

Mammouth du PHP | 2937 Messages

10 nov. 2009, 11:42

Là, tu mélanges deux syntaxes de notation de chaînes de caractères pour une même variable : la syntaxe heredoc et la syntaxe des chaînes entre guillemets simples.

De deux choses l'une :
  1. soit tu utilises la syntaxe des chaînes entre guillemets simples :
    $variable_php = '<h1>Test</h1>';
    $variable_php .= '<p>'.$element_dynamique.'</p>';
    $variable_php .= '<p>Fin du test</p>';
  2. soit tu utilises la syntaxe heredoc, auquel cas tu ne déclares ta variable qu'une fois et sans concaténation :
    $variable_php = <<<HTML
    <h1>Test</h1>
    <p>$element_dynamique</p>
    <p>Fin du test</p>
    HTML;
À noter que, dans la syntaxe heredoc, les variables et les séquences échappées sont traitées, comme dans une chaîne entourée de guillemets doubles. Je t'invite à consulter le manuel à ce sujet.

kyfr59
Invité n'ayant pas de compte PHPfrance

12 nov. 2009, 18:13

Merci Victor,

J'avais du mal à trouver de l'aide sur le sujet car je ne connaissais pas le nom de cette syntaxe (heredoc).

Je lis ça à tête reposée.

Bonne journée.

Franck.