2015-04-29 1 views
0

Le heredoc ne fonctionne pas pour le code suivantHeredoc pour html en php

$html = <<<HTML 
      <video width="$width" height="$height" controls preload autoplay > 
      <source src="$video_url_direct" type="video/mp4" /> 
    <object id="flowplayer" width="$width" height="$height" data="$player_url" type="application/x-shockwave-flash"> 

     <param name="allowfullscreen" value="true" /> 
     <param name="wmode" value="transparent" /> 
     <param name="flashvars" value='config={"clip":"$video_url", "plugins": {"controls": {"autoHide" : false} }}' /> 

    </object></video> 
HTML; 

je peux utiliser un heredoc pour la valeur flashvars ainsi (à savoir un heredoc dans une autre heredoc).

+0

En quoi cela ne fonctionne-t-il pas? Et pourquoi auriez-vous besoin d'utiliser un doc-doc dans un autre doc-doc? Il est déjà en train de développer des variables quand vous êtes dans le premier-doc, pourquoi avez-vous besoin d'un autre niveau? – Barmar

+0

@Barmar Je reçois une erreur de syntaxe avec le code ci-dessus. Je veux éviter les guillemets dans le json pour 'config =' – user2650277

+0

Vous avez un espace supplémentaire après '<<< HTML'. Débarrassez-vous de cela. – Barmar

Répondre

2

Vous avez un espace après <<<HTML:

$html = <<<HTML 
     here---^ 

Cela provoque l'erreur de syntaxe. Le jeton doit être suivi immédiatement d'une nouvelle ligne.

+0

Merci une tonne mate .... n'a pas pu trouver que: D – user2650277

+0

l'enlever mais alors toute la page devient un commentaire pourquoi est «HTML;» ne prend pas effet – user2650277

+0

Je ne peux pas reproduire cela. Avez-vous déjà fait 'echo $ html;' pour montrer ce que vous avez assigné? – Barmar