2009-06-02 8 views
0
私はこのエラーを取得していますなぜ私が把握しようとしています

PHPの初心者くさいが、ちょうど自分自身でそれを理解しようとしているPHP構文エラー

"Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/idgcca/public_html/web-design-samples-testing.php on line 64"


echo ' 
<div style="float:left; width: 180px; margin: 20px 0px 10px 0px;"><a rel="lightbox[web]" title="'. $post->title .'" onmousedown="this.title='<a target=\'_blank/\' href=\'http:www.google.ca/\'>Google</a>';" onmouseout="this.title='';" href="'. $post->url . '"> 

<img src="' . $post->thumb . '" border="0"/></a> <div class="design-sample-txt">'. $post->author.'</div></div> 

'; 

イムが、私の頭が回転している。ヘルプはかなりいただければ幸いです...ここ

答えて

4

はあなたの問題です:

this.title='< 

あなたはこの引用符をエスケープする必要があります。閉鎖時にはaタグもあります。

echo '<div style="float:left; width: 180px; margin: 20px 0px 10px 0px;"> 
    <a rel="lightbox[web]" title="'. $post->title .'" 
     onmousedown="this.title=\'<a target=\'_blank/\' href=\'http:www.google.ca/\'>Google</a>\';" 
     onmouseout="this.title=\'\';" href="'. $post->url . '">  
    <img src="' . $post->thumb . '" border="0"/></a> 
    <div class="design-sample-txt">'. $post->author.'</div> 
</div>'; 
+0

OK .. Imが混乱...あなただけのイムはそれを見しようとしているが、everythignが閉鎖され、正確なコードをしてくださいコピーして貼り付けることができます... –

+0

...(15文字) –

1

この行には終端記号のない文字列があります。このようなスラッシュで引用符をエスケープする必要があります。\ "

エコー" < div style = ** \ "** float:left; .....";

1

一重引用符を一重引用符で囲んでエスケープする必要があります。

echo '<div style="float:left; width: 180px; margin: 20px 0px 10px 0px;"><a rel="lightbox[web]" title="'. $post->title .'" onmousedown="this.title=\'<a target=\'_blank/\' href=\'http:www.google.ca/\'>Google</a>\';" onmouseout="this.title=\'\';" href="'. $post->url . '">'; 
0

複数の行に分けて読みやすくすることをお勧めします。

この種の回線をデバ​​ッグするのに役立ちます。

は、あなたの質問に答えるためにecho operator

を見てみましょう、あなたのコードで誤用、いくつかの引用符があります。あなたはそれらをエスケープする必要があります。あなたは正確にコードを貼り付けると仮定

echo '<div style="float:left; width: 180px; margin: 20px 0px 10px 0px;"> 
<a rel="lightbox[web]" title="'. $post->title .'" onmousedown="this.title=\'<a 
target=\'_blank/\' href=\'http:www.google.ca/\'>Google</a>\';" 
onmouseout="this.title=\'\';" href="'. $post->url . '"><img src="' . $post->thumb . '" 
border="0"/></a> <div class="design-sample-txt">'. $post->author.'</div></div>'; 
0

あなたが最初の引用符を終了したときに、最初エラーは、最初に右です。それは読むことを期待します:

echo ' title .'; 

隣り合う2つの引用符は意味をなさないものです。

+0

私はこれを投稿して以来、彼はコードを編集しています。 –

0

あなたはSilentGhostから答えを得ました。

私はHEREDOCを使用します。

0

あなたは、これらの属性値にhtmlspecialcharsを使用する必要があります。

function html($str, $charset=null) { 
    if (!is_null($charset)) { 
     return htmlspecialchars($str, ENT_QUOTES, $charset); 
    } else { 
     return htmlspecialchars($str, ENT_QUOTES); 
    } 
} 

echo ' 
    <div style="float:left; width: 180px; margin: 20px 0px 10px 0px;"> 
     <a rel="lightbox[web]" 
      title="' . html($post->title) . '" 
      onmousedown="' . html('this.title=\'<a target="_blank" href="http://www.google.ca/">Google</a>\'') . '" 
      onmouseout="' . html('this.title=""') . '" 
      href="' . html($post->url) . '"> 
      <img src="' . html($post->thumb) . '" border="0"/></a> 
     <div class="design-sample-txt">' . html($post->author) . '</div> 
    </div> 
';