में ग्रबर के रेगेक्स का उपयोग करते हुए यूआरएल मिलानिंग मैं in this article रेजी में preg_match के साथ काम करने वाले रेगेक्स को कैसे प्राप्त करूं?पीएचपी
<?php
preg_match("\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))/i", $text, $matches);
print_r($matches);
?>
कोड का उपयोग करना ऊपर मैं निम्नलिखित त्रुटि मिलती है:
preg_match("#\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))#i", $text, $matches);
आप regex सीमांकक (आमतौर पर /
अनदेखा कर रहे थे, लेकिन यहाँ #
का उपयोग कर ऐसा इसलिए है क्योंकि:
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash...
ध्यान दें कि यह रेगेक्स 'http: // जैसे यूआरएल की अनुमति देगा// और 'http: // ?? /'। यदि यह आपके लिए कोई समस्या नहीं है, तो आपको वास्तव में 'filter_var (' http://www.google.com/ ', FILTER_VALIDATE_URL)' का उपयोग करना चाहिए, क्योंकि यह एक अंतर्निहित PHP फ़ंक्शन है। –