如何str_replace PHP代码的一部分

时间:2010-03-17 00:43:18

标签: php str-replace

$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”错误

2 个答案:

答案 0 :(得分:0)

删除$ _COOKIE附近的memberPassword

无论如何,你似乎在寻找不能解释内部变量的语言结构 - 所以你必须使用HEREDOC语法 - 但常规字符串定义仅限于'

$sample = 'qwe $asd zxc';

或使用\来逃避$,正如Marcx在下面提出的那样

答案 1 :(得分:0)

您应该使用$

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

如果您的目标是使用变量名称,如果您想使用变量的实际值,那么问题出在$ this-&gt; iViewer ...