2010-01-08 13 views
5

में ग्रबर के रेगेक्स का उपयोग करते हुए यूआरएल मिलानिंग मैं 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... 
+0

ध्यान दें कि यह रेगेक्स 'http: // जैसे यूआरएल की अनुमति देगा// और 'http: // ?? /'। यदि यह आपके लिए कोई समस्या नहीं है, तो आपको वास्तव में 'filter_var (' http://www.google.com/ ', FILTER_VALIDATE_URL)' का उपयोग करना चाहिए, क्योंकि यह एक अंतर्निहित PHP फ़ंक्शन है। –

उत्तर

7

इस प्रयास करें यूआरएल के लिए अधिक सुविधाजनक)

+0

पूरी तरह से काम किया। बहुत धन्यवाद। :) – navitronic