2015-04-29 3 views
0

Heredoc не работает для следующего кодаHeredoc для HTML в 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; 

Также можно ли использовать Heredoc для значения flashvars, а также (т.е. в Heredoc внутри другого Heredoc).

+0

Как он работает? И зачем вам нужно использовать здесь-doc внутри другого здесь-doc? Это уже расширение переменных, когда вы находитесь в первом здесь-документе, зачем вам нужен другой уровень? – Barmar

+0

@Barmar Я получаю синтаксическую ошибку с кодом выше. Я хочу избежать двойных кавычек внутри json для 'config =' – user2650277

+0

У вас есть дополнительное пространство после '<<< HTML'. Избавиться от этого. – Barmar

ответ

2

У вас есть пробел после <<<HTML:

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

Это вызывает ошибку синтаксиса. Токен должен немедленно следовать новой строке.

+0

Спасибо a ton mate .... не удалось найти это: D – user2650277

+0

удалить его, но тогда вся страница станет комментарием, почему «HTML» не действует – user2650277

+0

Я не могу воспроизвести это. Вы когда-нибудь делаете 'echo $ html;', чтобы показать, что вы назначили? – Barmar

Смежные вопросы