Ошибка синтаксиса PHP T_ENCAPSED_AND_WHITESPACE

Я начинаю работать с php-основами, и у меня есть некоторая проблема, понимающая, как смешивать код со строками.

Я нашел отличный и полезный стиль для печати строковых блоков, но я не знаю названия, и я не могу найти примеры.

приведенный ниже код вернет мне ошибку:
Ошибка анализа: синтаксическая ошибка, неожиданный T_ENCAPSED_AND_WHITESPACE, ожидающий T_STRING или T_VARIABLE или T_NUM_STRING в /web/htdocs/food/user/index.php в строке 120

<?php $html_str = <<<STR <li><img alt="hello" src="$path_images/pencil.png"/><a title="hello" href="$path_pages/$page/action">Details</a></li> STR; print $html_str; ?> 

может ли кто-нибудь помочь мне найти, где я ошибаюсь, и имя этого стиля синтаксиса?

спасибо v

Я нашел проблему!
в примере, который я опубликовал, он не может вернуть ошибку:

Рабочий код

 <?php $str = <<<STRING hello! this is a working string<br/> and i can do too many things with heredoc syntax! STRING; print $str; ?> 

Не работает код

 <?php $str = <<<STRING syntax error!<br/> syntax error!<br/> why? STRING; print $str; ?> 

Проблема заключается в вкладках перед тегом close STRING; которые считаются частью тега, поэтому тег закрытия не интерпретируется «STRING»; но «STRING»; , поэтому он не работает.

надеюсь, что это пригодится кому-то другому.

Имя синтаксиса – это строки HEREDOC или «здесь документы».

Но когда я запускаю свой код на своем сервере, я не получаю ошибки маркера, которые вы делаете. Может быть, ваша ошибка на самом деле где-то в другом месте?