2010-03-17 7 views
0
$embedCode = <<<EOF 
getApplicationContent('video','player',array('id' => $iFileId, 'user' => $this->iViewer, 'password' => clear_xss($_COOKIE['memberPassword'])),true) 
EOF; 
$name = str_replace($embedCode,"test",$content); 

J'essaie de remplacer une section de code par un autre morceau de code. Je peux le faire avec des chaînes plus petites, mais une fois que j'ajouté les chaînes plus grandes à $ embedCode, il jeter un « T_ENCAPSED_AND_WHITESPACE inattendu » erreurComment str_replace une section de code PHP

+0

Pourquoi veux-tu faire cela? –

Répondre

0

vous devriez u Nescape l'$ utilise \$

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

Si votre objectif est d'utiliser le nom de vars, si vous souhaitez utiliser la valeur réelle des variables, le problème est dans $ this-> iViewer ...

+0

en fait le problème est dans '$ _COOKIE pas dans $ this-> iViewer comme vous l'avez dit – zerkms

0

remove 'autour du memberPassword près de la _COOKIE

$ de toute façon semble que vous cherchez la construction linguistique qui n'interprète variable à l'intérieur - donc vous devez pas utiliser heredoc syntaxe - mais la définition de chaîne régulière limitée avec '

$sample = 'qwe $asd zxc'; 

ou échapper à $ avec \ comme Marcx propose ci-dessous