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: 21 años, 10 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