PHP में एक चिपचिपा फ़ॉर्म के लिए मूल्य में दोहरे उद्धरणों से बचें




validation forms (2)

आप चाहते हैं htmlentities ()

<input type="text" value="<?php echo htmlentities($myValue); ?>">

मुझे एक चिपचिपा फार्म बनाने में कुछ परेशानी हो रही है, जो कि उसमें दर्ज की गई चीज़ को याद रखेगा यदि मूल्य में दोहरे उद्धरण हैं। समस्या ये है कि एचटीएमएल को ऐसा कुछ पढ़ना चाहिए:

<input type="text" name="something" value="Whatever value you entered" />

हालांकि, यदि वाक्यांश: "मैं यह कैसे करूँ?" उद्धरण चिह्नों के साथ टाइप किया जाता है, परिणामस्वरूप एचटीएमएल समान होता है:

<input type="text" this?="" do="" i="" how="" value="" name="something"/>

मुझे डबल उद्धरण कैसे फ़िल्टर करना होगा? मैंने जादू कोट्स को चालू और बंद करने की कोशिश की है, मैंने स्ट्रीप्सलेब्स और ऐड्रेसैस का इस्तेमाल किया है, लेकिन अभी तक मैं सही समाधान में नहीं आया हूं। PHP के लिए इस समस्या को हल करने का सबसे अच्छा तरीका क्या है?


उपरोक्त सभी प्रकार के अक्षरों को सांकेतिक शब्दों में बदलना होगा जो कि html इकाई कोड है। मैं उपयोग करना पसंद करता हूं:

htmlspecialchars($myValue, ENT_QUOTES, 'utf-8');

यह केवल एन्कोड होगा:

'&' (ampersand) becomes '&amp;'
'"' (double quote) becomes '&quot;' when ENT_NOQUOTES is not set.
''' (single quote) becomes '&#039;' only when ENT_QUOTES is set.
'<' (less than) becomes '&lt;'
'>' (greater than) becomes '&gt;'

आप html और php टैग को हटाने के लिए $ myValue पर एक स्ट्रिप_टाग भी कर सकते हैं।





filtering