Ik loop nu al weer een tijdje te klooien met regular expressions.

Ik wil van een variabele controleren of deze een geldig domein is. (domain.ext)
Alleen lijkt dit niet te werken:

<?php 
if(eregi('[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$', $domein)) {
	echo 'goed domein';
} else {
	echo 'foutief domein';
}


Nu geeft hij bij alles goed aan.

<?php
if(eregi('^[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$', $domein)) {
  $expDomein = explode(".", $domein);
  $nDomein = $expDomein[count($expDomein)-1]. "." .$expDomein[count($expDomein)];
  $hDomein = gethostbyname($nDomein);
  if($hDomein != $nDomein) {
    echo 'goed domein';
  } else {
    echo 'fout domein';
  }
} else {
  echo 'fout domein';
}
?>

Ik geloof dat zoiets wel moet werken. Heb er ook nog even een extra beveiliging ingemaakt ;).
Niet om het 1 of ander (heb het niet bekeken) Maar gaat iets.co.uk ook goed?
.co.ku maakt niet uit als die faalt.

in eerste instantie gaat het alleen om .nl .be .com .net .eu TLDs.

Ik ga bovenstaand scriptje even testen. Alvast bedankt :)
Die faalt niet. Dan zal hij reageren op de .co (. en 2 tekens a-z) ;).

Reageren