Вопрос

$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».

Это было полезно?

Решение

тебе следует избежать $ с использованием \$

$embedCode = <<<EOF
    getApplicationContent('video','player',array('id' => \$iFileId, 'user' => \$this->iViewer, 'password' => clear_xss(\$_COOKIE['memberPassword'])),true)
EOF;

ЕСЛИ ваша цель — использовать имя переменной, если вы хотите использовать реальное значение переменных, тогда проблема в $this->iViewer...

Другие советы

удалить ' вокругmemberPassword рядом с $_COOKIE

в любом случае кажется, что вы ищете языковую конструкцию, которая не интерпретирует переменную внутри - поэтому вам придется использовать не синтаксис HEREDOC, а обычное определение строки, ограниченное '

$sample = 'qwe $asd zxc';

или экранируйте $ с помощью \, как предлагает Маркс ниже

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top