السلام عليكم ورحمة الله وبركاته
كود PHP:
http://crazy-eng.com
ftp://crazy-eng.com
http://crazy-eng.com/links/a.php?ss=ss&sd=rew,addf=rrr&k
http://crazy-eng.com/ssdsd.html?sdsa=aas
http://crazy-eng.com/dsdfwd.php?sadqw=dedf
http://crazy-eng.com/dsadfsds/
http://crazy-eng.com/tamo.asp
http://crazy-eng.com/sds.aspx
http://www.google.com.eg/search?q=comma+url+regex&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
http://domain.com/something/0,123,3.html
http://index.php?page=main,id=123
http://1000mazad.com/Cell-Phone-Watch-Mobile,name,100233,auction_id,mazad_details
الروابط أعلاه لها أشكال عديده أريد REGEZ واحد يمكنه التعامل معها جميعاً
أنا لدى هذا الREGEX و الذى يمكنه التعرف علي معظمها ماعد الذى يحتوى على comma
و كذلك بعض الروابط قد تحتوى على )( [] أقواس
كود PHP:
/(((https?|ftp):\/\/[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}\/*([\w\/\.\?&=]+)*)+^[0-9]+([,]\s?\([A-Za-z0-9]+))$)/is
الفكرة أنه فى موقع إختصار الروابط تلى تل كنت أستخدم داله معقده فكانت تضايق الكثيرين .. و عندما إستغنيت عن جزء من هذه الداله أصبح الناس يجربون الروابط الفاشله مثل
http:////
http://d
http://develop_ur_self
و حاجات من هذا القبيل
كود PHP:
function validateURL($url){
$urlregex = "^(https?|ftp)\:\/\/";
// USER AND PASS (optional)
//$urlregex .= "([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?";
// HOSTNAME OR IP
//$urlregex .= "[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*"; // http://x = allowed (ex. http://localhost, http://routerlogin)
//$urlregex .= "[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)+"; // http://x.x = minimum
//$urlregex .= "([a-z0-9+\$_-]+\.)*[a-z0-9+\$_-]{2,3}"; // http://x.xx(x) = minimum
//use only one of the above
// PORT (optional)
//$urlregex .= "(\:[0-9]{2,5})?";
// PATH (optional)
//$urlregex .= "(\/([a-z0-9+\$_-]\.?)+)*\/?";
// GET Query (optional)
//$urlregex .= "(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?";
// ANCHOR (optional)
//$urlregex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?\$";
// check
if (eregi($urlregex, $url)) {return "good";} else {return "bad";}
}