$embedCode = <<<EOF getApplicationContent('video','player',array('id' => $iFileId, 'user' => $this->iViewer, 'password' => clear_xss($_COOKIE['memberPassword'])),true) EOF; $name = str_replace($embedCode,"test",$content);
Я пытаюсь заменить часть кода на другой фрагмент кода. Я могу сделать это с меньшими строками, но как только я добавил большие строки в $ embedCode, он выкинул «неожиданную ошибку T_ENCAPSED_AND_WHITESPACE»
вы должны unescape $
using \$
$embedCode = <<<EOF getApplicationContent('video','player',array('id' => \$iFileId, 'user' => \$this->iViewer, 'password' => clear_xss(\$_COOKIE['memberPassword'])),true) EOF;
Если ваша цель – использовать имя vars, если вы хотите использовать реальное значение переменных, тогда проблема в $ this-> iViewer …
удалить 'вокруг memberPassword рядом с $ _COOKIE
в любом случае кажется, что вы ищете языковую конструкцию, которая не интерпретирует переменную внутри – поэтому вам нужно использовать не синтаксис HEREDOC, а регулярное определение строки, ограниченное "
$sample = 'qwe $asd zxc';
или выйдите из $ с \, как предлагает Marcx ниже