Originariamente inviato da AnĒkin
Le regole di un url ben formattato non le conosco, cmq puoi sostituire a \S+ altre regole pių precise.
Per esempio cosė:
codice:
$rex = '/^((https?|ftp):\/\/[\w-]+\.|www\.)\w{2,}\.\w{2,4}(\?\S+)?$/i';
Ho diviso in blocchi l'ultima parte di url, il blocco rosso puō essere lungo a piacere, ma non minore di due caratteri, il blocco viola č il dominio (net,com,it,etc) e il blocco verde č un eventuale querystring (opzionale percheč ha il "?" in fondo. Ma ripeto sono regole cosė, non sono sicuro della loro correttezza.

Per il problema del http:// io farei un controllo nell'IF che se la stringa č uguale a http:// si comporti come se l'url fosse vuoto.
Non č importante che sia ben formattato, ciō che conta č che abbia i "prefissi" e dopo l'ultimo punto ci sia un dominio o un'ext (nel caso finisca con una pagina) di almeno 2 caratteri.

Io non uso il DB come faccio a controllare l'if?