A parte la questione di usare eregi o preg_match... Ci sono degli escape messi a casaccio:
-> \: cerca \: , non : !
-> nella preg_match devi fare l'escape di TUTTI gli / con \/ (non l'hai fatto con tutti)
-> manca l'escape all'ultimo punto della prima riga: dev'essere (\.[a-z]{2,3}[\/])
-> (qui è facoltativo) se usi eregi è inutile che scrivi a-zA-Z ! basta a-z (oppure per distinguerli usi ereg al posto di eregi)
eregi
Codice PHP:
$result = eregi("^(http|https)://([:/~a-zA-Z0-9_\-\.]+)\.([:/~a-zA-Z0-9]+)(\.[a-z]{2,3}/)$",$iweb);
$result1 = eregi("^([:/~a-zA-Z0-9_\-\.]{,80})$", $titolo);
$result2 = eregi("^([:/~a-zA-Z0-9_\-\.]{,250})$", $descriz);
preg_match
Codice PHP:
$result = preg_match("/^(http|https):\/\/([:\/~a-zA-Z0-9_\-\.]+)\.([:\/~a-zA-Z0-9]+)(\.[a-z]{2,3}\/)$/",$iweb);
$result1 = preg_match("/^([:\/~a-zA-Z0-9_\-\.]{,80})$/", $titolo);
$result2 = preg_match("/^([:\/~a-zA-Z0-9_\-\.]{,250})$/", $descriz);
PS: (http|https) si può scrivere anche (https?)