Ver Mensaje Individual
  #11 (permalink)  
Antiguo 20/04/2006, 01:14
Avatar de uamistad
uamistad
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Mr. BictorMan, eso sí que está claro !

Chécate esta función:

Código PHP:

//
function discriminador($dominio){
     
//definiendo conjuntos frecuentes
     
$usa "a-z0-9"//alfanuméricos
     
$lat "a-z0-9áéíóúñü"//latinos permitidos

     //definiendo patrones
     
$patronACE "^[$usa][$usa-]+[$usa]$";
     
$patronIDN "^[$lat][$lat-]+[$lat]$";

     
//tomando decisiones
     
if( ereg($patronACE,$dominio) ) return "ACE";
     elseif( 
ereg($patronIDN,$dominio) ) return "IDN";
     else return 
"Error";
    }
//end function 

EDITO:
Se me olvidó poner que ya la probé con tu lista:

Código PHP:

//
header("Content-Type: text/plain");

$cadena[] = "forosdelweb"// -> ACE
$cadena[] = "2foros-del-web"// -> ACE
$cadena[] = "-forosdelweb"// -> Error (el - solo se acepta como separador)
$cadena[] = "dólares"// -> IDN
$cadena[] = "españa"// -> IDN
$cadena[] = "ñandú"// -> IDN
$cadena[] = "ñan-dú"// -> IDN
$cadena[] = "ñandú-"// -> Error
$cadena[] = "agüero10"// -> IDN
$cadena[] = "agüe_car"// -> Error (el guión bajo no esta permitido)
$cadena[] = "domi?nio"// -> Error
$cadena[] = "domi/nio"// -> Error
$cadena[] = "dominio!"// -> Error

$i 0;
foreach(
$cadena as $dominio)
    echo 
"\n".++$i.") ".$dominio.' -> '.discriminador($dominio); 
y me imprime lo siguiente:

Código:
1) forosdelweb -> ACE
2) 2foros-del-web -> ACE
3) -forosdelweb -> Error
4) dólares -> IDN
5) españa -> IDN
6) ñandú -> IDN
7) ñan-dú -> IDN
8) ñandú- -> Error
9) agüero10 -> IDN
10) agüe_car -> Error
11) domi?nio -> Error
12) domi/nio -> Error
13) dominio! -> Error
Suerte !
__________________
"Di no al Internet Explorer" -Proverbio Chino-

Última edición por uamistad; 20/04/2006 a las 01:21