रेगुलर एक्सप्रेशन के साथ यूआरएल का मिलान
रेगुलर एक्सप्रेशन शुरू में चुनौतीपूर्ण हो सकता है, लेकिन वे विविध डेटा प्रकारों के लिए शक्तिशाली पैटर्न-मिलान क्षमताएं प्रदान करते हैं। यूआरएल निकालने के संदर्भ में, यूआरएल प्रारूपों में विविधताओं को समायोजित करने के लिए एक लचीला पैटर्न आवश्यक है।
एक मजबूत नियमित अभिव्यक्ति जो प्रमुख प्रोटोकॉल के साथ या उसके बिना यूआरएल को कैप्चर कर सकती है (उदाहरण के लिए, "http://www" या " www") है:
((https?|ftp)://)? // Optional SCHEME ([a-z0-9 !*(),;?&=$_.-] (:[a-z0-9 !*(),;?&=$_.-] )?@)? // Optional User and Pass ([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3}))) // Host or IP address (:[0-9]{2,5})? // Optional Port (/([a-z0-9 $_%-]\.?) )*/? // Path (\?[a-z &\$_.-][a-z0-9;:@&%= /$_.-]*)? // Optional GET Query (#[a-z_.-][a-z0-9 $%_.-]*)? // Optional Anchor
PHP में इस अभिव्यक्ति का उपयोग करने के लिए, इसे दोहरे उद्धरण चिह्नों में संलग्न करें और इसे उस URL के साथ preg_match फ़ंक्शन में पास करें जिसका आप मूल्यांकन करना चाहते हैं। उदाहरण के लिए:
$url = 'www.example.com/etcetc';
if (preg_match("~^$regex$~i", $url)) {
echo 'Matched URL without protocol';
}
इसी तरह, प्रोटोकॉल वाले यूआरएल के लिए:
$url = 'http://www.example.com/etcetc';
if (preg_match("~^$regex$~i", $url)) {
echo 'Matched URL with protocol';
}
इस पैटर्न को यूआरएल प्रारूपों की एक विस्तृत श्रृंखला को कवर करना चाहिए और साथ ही "/" जैसे वर्णों वाले संभावित दुर्भावनापूर्ण इनपुट से भी बचाना चाहिए।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3