Yeni ve geliştirilmiş URL tanıma regex Grubers

0 Cevap php

Ben bir php projede grubers latest url matching regex kullanmaya çalışıyorum.

Bunu test etmek için çok basit bir şey birlikte attı:

$regex = "(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:"'.,<>?«»“”‘’]))";

$array = pret_match_all($regex, $theblockofurltext);

print_r($array);

İlk sorun "ben regex sarılmış, hangi bağlı olarak, bir dize kaçmak olurdu, bu yüzden ben sadece bunu kaldırıldı. Bunun kullanımı kişisel ve ben asla" idi zaten her yerde bir url yakın. Bu yeni bir regex ile beni bıraktı.

$regex = "(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'.,<>?«»“”‘’]))";

Gitmek için can atan ben sonra benim ufak bir programcık koştu ve bana şu hatayı verdi:

Warning: preg_split() [function.preg-split]: Unknown modifier '\' in D:\wwwroot\xxx\index.php on line 14

Ne yazık ki okulda REGEX sınıfı, bu regex seviyelerine yakın yerde istemektedir öğretti ve ben nerede PHP ile kullanmak için bu düzeltmeye başlamak için hiçbir fikrim yok değildi. Herhangi bir yardım büyük mutluluk duyacağız. Ben muhtemelen çok aptalca bir şey yapıyorum Hiç şüphe yok ki, bana çok kolay gidin lütfen :)

Jon

0 Cevap