<?php
function control_url($in) {
// oude versie
/*
$start_url = "(http(s)?\:\/\/)?"; // start URL
$punten = "([\w_-]{2,}\.)+"; // een of meer delen met een . aan het einde
$laatste_deel = "([\w_-]{2,})"; // laatste deel bevat geen punt
$user = "((\/)(\~)[\w_-]+)?((\/)[\w_-]+)*"; // evt subdirectories - evt met user ~
$eind = "((\/)|(\/)[\w_-]+\.[\w]{2,})?"; // evt eindigend op een slash of slash+file+extensie
$qstring1 = "((\?[\w_-]+\=([^\#]+)){0,1}"; // querystring - eerste argument (?a=b)
$qstring2 = "(\&[\w_-]+\=([^\#]+))*)?"; // querystring - volgende argumenten (&c=d)
$bkmrk = "(#[\w_-]+)?"; // bookmark
$exp = "/^".$start_url.$punten.$laatste_deel.$user.$eind.$qstring1.$qstring2.$bkmrk."$/i";
*/
// nieuwe(re) versie
// NB: het is beter om de ? aan het einde van de volgende regel weg te laten
// om er zeker(der) van te zijn dat je met een URL te maken hebt
$start = "(http(s)?:\/\/)?"; // http://
$url = "([\w_-]+)(\.[\w_-]+)*"; // www.bla.com
$user = "(\/\~[\w_-]+)?"; // userdir
$eind = "(\/[^\040\t\r\n\.\?]+(\.[^\040\t\r\n\.\?]+)*)*(\/)?"; // files en folders
$qstring = "(\?[\w_-]+\=([^\#\040\t\r\n]+)(\&[\w_-]=[^\#\040\t\r\n]+)*)?"; // querystring
$bkmrk = "(#[\w_-]+)?"; // bookmark
$exp = "/^".$start.$url.$user.$eind.$qstring.$bkmrk."$/i";
}
?>