Php onerror=字符串$变量-失败

Php onerror=字符串$变量-失败,php,javascript,Php,Javascript,为什么会失败?当onerror=不是一个变量而只是一个手工键入的字符串时,它就可以工作 <?php $error = "onerror='this.src = \'http://userlogos.org/files/logos/pek/stackoverflow2.png\'';"; for ($i = 1; $i <= 10; $i++) { echo "<img src='http://services.runescape.com/m=itemdb_rs/3716

为什么会失败?当
onerror=
不是一个变量而只是一个手工键入的字符串时,它就可以工作

<?php 
$error = "onerror='this.src = \'http://userlogos.org/files/logos/pek/stackoverflow2.png\'';";
for ($i = 1; $i <= 10; $i++) { 
  echo "<img src='http://services.runescape.com/m=itemdb_rs/3716_obj_sprite.gif?id=" . $i . "' alt='ID " . $i . "' title='ID " . $i . "'" . $error . "/>"; 
} 
?>

引用太多。我将其改写如下,这样您就可以更容易地发现错误:

<?php 
$error = "onerror='this.src = \'http://userlogos.org/files/logos/pek/stackoverflow2.png\'';";
for ($i = 1; $i <= 10; $i++) { 
  echo "<img src='http://services.runescape.com/m=itemdb_rs/3716_obj_sprite.gif?id=$i' alt='ID $i' title='ID $i' $error />"; 
} 
?>
试试这个:

<?php 
$error = " onerror='this.src =\"http://userlogos.org/files/logos/pek/stackoverflow2.png\";'";
for ($i = 1; $i <= 10; $i++) { 
  echo "<img src='http://services.runescape.com/m=itemdb_rs/3716_obj_sprite.gif?id=" . $i . "' alt='ID " . $i . "' title='ID " . $i . "'" . $error . "/>"; 
} 
?>

“它失败”的描述太模糊了。请告诉我们发生了什么-检查一下“-这与Java有什么关系?java和javascript不一样。不起作用。现在,您在生成的HTML中得到了
onerror='this.src='url'
,这是不可能的…我应该在HTML中使用双引号,在PHP/JS中使用单引号,因为这是最常用的方法。@WouterJ您可以使用一个或另一个,没关系。两者都是有效的。