-2

$display を html 行として定義しようとしています。これは私がこれまでに持っているものです。

    $display = '<input type="image" name="5more" value="5more" src="./pictures/fm/5more2.png" onmouseover="this.src='./pictures/fm/5more1.png'" onmouseout="this.src='./pictures/fm/5more2.png'">';

このエラーが発生し続けます: 解析エラー: 構文エラー、予期しない '/' が results.php の 15 行目にあります。

私を助けてください。

4

6 に答える 6

1

文字列宣言は で囲み'ます。

$display = '...コンテンツ...';

これは、文字列の先頭が で始まり、'で終わることを意味し'ます。

文字列には二重引用符の選択が含まれて"いますが、変数には...

onmouseover="this.src='./pictures/fm/5more1.png'" onmouseout="this.src='./pictures/fm/5more2.png'"

'イメージ宣言の前後の一重引用符が問題の原因です。PHP コンパイラは、最初の一重引用符'(最初のイメージ宣言の直前) を文字列の末尾として認識します。

この問題の解決策は、文字列内の単一引用符をエスケープすることです。\各一重引用符の直前に追加するだけです。一重引用符は次のようになります\'

これが正しい宣言です

$display = '<input type="image" name="5more" value="5more" src="./pictures/fm/5more2.png" onmouseover="this.src=\'./pictures/fm/5more1.png\'" onmouseout="this.src=\'./pictures/fm/5more2.png\'">';
于 2013-10-03T01:25:39.203 に答える
1

文字列内のをエスケープする必要があり'ます。

$display = '<input type="image" name="5more" value="5more" 
            src="./pictures/fm/5more2.png" 
            onmouseover="this.src=\'./pictures/fm/5more1.png\'" 
            onmouseout="this.src=\'./pictures/fm/5more2.png\'">';

または"、文字列を で引用するときに文字列内でのみ使用します'

于 2013-10-03T01:03:24.577 に答える
0

上記のように引用符をエスケープする必要があります。しかし、読みやすさという点では、このデザイン アプローチは、たとえそれがより冗長であっても、いくつかの苦労を省くことができます。ホスティング構成でサポートされているかどうかを確認してください。

$urlOver = "./pictures/fm/5more1.png";
$urlOut = "./pictures/fm/5more2.png";

$onMouseover = "this.src='$urlOver'";
$onMouseout = "this.src='$urlOut'";

$display =
"<input type='image' name='5more' value='5more'
    src='$urlOut'
    onmouseover='$onMouseout'
    onmouseout='$onMouseout'>";

PS: 引用符 ("...") の間に中括弧を次のように追加できます。{$onMouseout}

于 2013-10-03T01:34:21.663 に答える