भाग 1 काफी आसान हो सकता है:'a''b'
'a\'b'
. के लिए एक विकल्प है और इस प्रकार इसका अर्थ वही है। UI को यकीन है कि प्रश्नों में तालिका परिभाषा के विपरीत सही स्ट्रिंग लौटा दी जाएगी।
भाग 2 के लिए, नेड्रेट रेसेप ने आपको सही उत्तर दिया है। साथ ही, मुझे आश्चर्य है कि कैसे
echo "<option value='".$imgClass_row[imgClass]."'>"
कभी भी परिणाम हो सकता है
<option value="Robin" s'="">
. मैं इसके बजाय उम्मीद करूंगा
<option value='Robin's'="">
जो स्पष्ट रूप से गलत है, लेकिन htmlspecialchars()
. के साथ हल किया जा सकता है ।
संपादित करें:मुझे एक संभावित स्पष्टीकरण मिला है:ब्राउज़र के एचटीएमएल पार्सर को यहां दोषी ठहराया जा सकता है।
. के साथ<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>
मुझे फ़ायरफ़ॉक्स के साथ मिलता है
<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'="">
।