Frage

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

Ich versuche, mit einem anderen Stück Code, um einen Abschnitt des Codes zu ersetzen. Ich kann es mit kleineren Saiten, aber sobald ich die größeren Strings $ embedCode hinzugefügt, es eine „unerwartete T_ENCAPSED_AND_WHITESPACE“ Fehler werfen

War es hilfreich?

Lösung

Sie sollten die $ unescape \$ mit

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

Wenn Ihr Ziel zu verwenden, ist die Vars Name, wenn Sie den realen Wert der Variablen verwenden möchten, dann ist das Problem in $ this-> iViewer ...

Andere Tipps

entfernen 'um die memberPassword in der Nähe des $ _COOKIE

sowieso scheint Sie suchen Sprache Konstruktion, dass nicht Variable innerhalb interpretiert - so, dann müssen Sie nicht HEREDOC Syntax verwenden - aber regelmäßige String Definition begrenzt mit ‚

$sample = 'qwe $asd zxc';

oder Flucht $ mit \ als MarcX schlägt unter

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top