2010-12-04 34 views
0

「解析エラー:予期しない構文エラー、予期しないエラーが発生しました」というメッセージが表示される。誰もこれを並べ替える方法を知っていますか?構文解析エラー:構文エラー

protected $_embedHTML = array('youtube' => '<object width="425" height="350" 
              type="application/x-shockwave-flash" '. 
              'data="http://www.youtube.com/'.$value.'">'. 
              '<param name="movie" value="http://www.youtube.com/'.$value.'"> 
              </param>'. 
              '<!--[if IE]>'. 
              '<embed src="http://www.youtube.com/'.$value.'"'. 
              'type="application/x-shockwave-flash"'. 
              'wmode="transparent" width="425" height="350" />'. 
              '<![endif]-->'. 
              '</object>'); 
+0

あなたは、連結演算子( '.')を使用しています。それはクラスメンバー変数では機能しません。代わりに、適切なコンストラクタ関数を使用してください。 – Lekensteyn

答えて

3

あなたは、クラス変数の定義でそのようにデータを連結することはできません。初期化値は定数でなければなりません。

protected $_embedHTML; 

function __construct() { 
    $this->_embedHTML = array('youtube' => '<object width="425" height="350" 
     type="application/x-shockwave-flash" '. 
     data="http://www.youtube.com/'.$value.'">'. 
     '<param name="movie" value="http://www.youtube.com/'.$value.'"> 
     </param>'. 
     '<!--[if IE]>'. 
     '<embed src="http://www.youtube.com/'.$value.'"'. 
     'type="application/x-shockwave-flash"'. 
     'wmode="transparent" width="425" height="350" />'. 
     '<![endif]-->'. 
     '</object>'); 
} 

あるいは、連結を除去し、単に複数行の文字列を作る:

はこれを試してみてください。私はなぜそれがマルチライン文字列で構成されているので、これをやっていないのかわかりません。

関連する問題