.... (www.){1}?[a-z0-9\-\_] ....
cosa ci fa qui il '?' ?
.... (.[a-z0-9]+) ....
devi utilizzare il carattere di escape per usare il punto come carattere \.
prova questa
eregi("^(http:// | https://){1}(www\.{1})(\w+)(\.{1}\w{4})$", trim($url))
attento però che devi avere esattamente quattro caratteri finali. forse ti può tornare meglio {2,4}
ps. eregi non fa differenza tra maiuscole e minuscole, non ti serve strtolower

Rispondi quotando