Riposto.
Ho creato una RegExp per url, funziona tutto perfettamente tranne quando inserisco assieme http://www., se li inserisco da soli funziona.
Ho notato che il problema è concentrato nella parte opzionale (in rosso) ma non riesco a sistemarla.
//valida https://www.pippo.sito.dominio.{2,4}/forum/home.{2,4}
if ($url){
if (!preg_match("/^((http(s)?:\/\/)|(www\.))([A-Za-z0-9]+)((\.[A-Za-z0-9]+)?(\.[A-Za-z0-9]+)?)? (\.[a-z]{2,4})(((\/[A-Za-z0-9]+)?((\/[A-Za-z0-9]+)(\.[a-z]{2,4})))?)$/",$url)){
echo "Inserire un' URL valido";
}
}