パート1は非常に簡単かもしれません:'a''b'
'a\'b'
の代替です したがって、同じ意味です。 UIは、クエリでテーブル定義ではなく正しい文字列が返されることを確認しています。
パート2では、NedretRecepが正解を示しました。それに、どうやって
echo "<option value='".$imgClass_row[imgClass]."'>"
結果として
になる可能性があります<option value="Robin" s'="">
。むしろ期待したい
<option value='Robin's'="">
これは明らかに間違っていますが、htmlspecialchars()
で解決できます 。
編集:私は考えられる説明を見つけました:ブラウザのHTMLパーサーはここで非難される可能性があります。
<select id="s" onchange="alert(document.getElementById('s').innerHTML + ' value:' + document.getElementById('s').value)">
<option value='Robin's'>a</option>
<option value='Robin's'>b</option>
</select>
Firefoxを使用しています
<option value="Robin's">a</option>
<option value="Robin" s="">b</option>
value:Robin's
オプションa
および
<option value="Robin's">a</option>
<option value="Robin" s="">b</option>
value:Robin
オプションb
を使用 。しかし、それは解析と再アセンブルの後であり、明らかにPHPで生成されたコードではありません。それでも、en axcess'
はどこにありますか <option value="Robin" s'="">
で 。