PHP Filter एक एक्सटेंशन है जो यूजर के इनपुट डेटा को फ़िल्टर करता है। फ़िल्टर एक्सटेंशन का उपयोग डेटा को validate करने के लिए किया जाता है। इसके लिए हमें PHP के filter_var()
फ़ंक्शन का उपयोग करने की आवश्यकता होती है।
filters मुख्यतः दो प्रकार के होते हैं जिनका प्रयोग किया जाता है।
- Validation: इसका उपयोग यह जांचने के लिए किया जाता है कि डेटा कुछ मानदंडों (criteria) को पूरा करता है या नहीं। यह केवल डेटा की जांच करता है, कि यह वैध है या नहीं, लेकिन यह मौजूदा डेटा को अपने आप नहीं बदलेगा।
- Sanitization: Validation की तरह, यह भी जांच करता है कि डेटा valid है या नहीं, लेकिन इसके अलावा यह डेटा से किसी भी illegal character को हटा भी देता है। उदाहरण के लिए,
FILTER_SANITIZE_EMAIL
फ़िल्टर एक email address के लिए letters, digits और!#$%&'*+-=?^_`{|}~.[@]
को छोड़कर सभी character को हटा देता है।
PHP filter_var() Function
filter_var(variable, filter, options)
filter_var()
फ़ंक्शन का उपयोग, डेटा को validating और sanitizing दोनों करने के लिए किया जा सकता है।
filter_var() फ़ंक्शन तीन parameters का उपयोग करता है जिसमें पहला अनिवार्य है और अंतिम दो वैकल्पिक (optional) होते हैं।
- variable : यह एक अनिवार्य वैल्यू है जिसे फ़िल्टर करने की आवश्यकता होती हैं।
- filter : यह फ़िल्टर लागू करने की एक आईडी हैं।
- options : यह फ़िल्टर से संबंधित options की array हैं।
Validating an integer
निम्नलिखित उदाहरण यह validates करता है कि 15 एक वैध integer है या नहीं।
<?php
// Sample integer value
$int = 15;
// Validate a sample integer value
if (filter_var($int, FILTER_VALIDATE_INT)) {
echo ($int . " is a valid integer");
} else {
echo ($int . " is a invalid integer");
}
?>
15 is a valid integer.
Output: 15 is a valid integer.
Validating an email
निम्नलिखित उदाहरण एक E-mail address को validates करता हैं।
<?php
// Sample email address
// Validate the sample email address
if (filter_var($emailadd, FILTER_VALIDATE_EMAIL)) {
echo "A valid email address";
} else {
echo "An invalid email address";
}
?>
Sanitize and Validate an Email Address
निम्नलिखित उदाहरण में हम filter_var()
फ़ंक्शन का उपयोग करते है जो पहले $email variable से सभी अवैध characters को निकालता है और फिर यह जाँच करता है कि क्या यह एक valid email address है:
<?php
// Sample email address
// Remove all illegal characters from email
$newEmail = filter_var($emailadd, FILTER_SANITIZE_EMAIL);
// Validate Sanitized E-mail
if (!filter_var($newEmail, FILTER_VALIDATE_EMAIL) == false) {
echo ($newEmail . " is a valid email address");
} else {
echo ($newEmail . " is an invalid email address");
}
?>
[email protected]
!#$%&'*+-=?^_`{|}~.[@]
को छोड़कर। Sanitize a String
नीचे दिए गए उदाहरण में हम एक String से सभी HTML टैग्स को हटाने के लिए filter_var()
फ़ंक्शन का उपयोग करते हैं।
<?php
$text = "<h1> Hello World!</h1>";
$newText = filter_var($text, FILTER_SANITIZE_STRING);
echo $newText;
?>
उपरोक्त PHP फ़िल्टर उदाहरण के लिए आउटपुट Hello World! होगा।
PHP फ़िल्टर फ़ंक्शंस के संपूर्ण reference के लिए, कृपया देखें https://www.php.net/manual/en/filter.filters.validate.php