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);

コードのセクションを別のコードに置き換えようとしています。小さい文字列でも実行できますが、大きい文字列を$ embedCodeに追加すると、「予期しないT_ENCAPSED_AND_WHITESPACE」エラーがスローされます。

4

2 に答える 2

0

$_COOKIEの近くのmemberPasswordの周りの'を削除します

とにかく、内部の変数を解釈しない言語構造を探しているようです-したがって、ヒアドキュメント構文ではなく、'で制限された通常の文字列定義を使用する必要があります

$sample = 'qwe $asd zxc';

または、Marcxが以下に提案するように、\で$をエスケープします

于 2010-03-17T01:07:15.557 に答える
0

$使用をエスケープ解除する必要があります\$

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

目的が変数名を使用することである場合、変数の実際の値を使用する場合、問題は$ this->iViewer...にあります。

于 2010-03-17T01:11:56.250 に答える