Как str_replace раздел PHP-кода
-
20-09-2019 - |
Вопрос
$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';
или экранируйте $ с помощью \, как предлагает Маркс ниже
Не связан с StackOverflow