سؤال

كيف أحصل على Regex المذكورة في هذه المادة العمل مع preg_match في php؟

<?php
preg_match("\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))/i", $text, $matches);
print_r($matches);
?>

باستخدام الكود أعلاه، أحصل على الخطأ التالي:

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash...
هل كانت مفيدة؟

المحلول

جرب هذا:

preg_match("#\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))#i", $text, $matches);

كنت في عداد المفقودين محددات ريجيكس (عادة /, ، ولكن استخدام # هنا لأنه أكثر ملاءمة لعناوين URL)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top