<?php
//recibimos los datos..
$nombre = $_POST['noms'];
$paterno = $_POST['apat'];
$materno = $_POST['amat'];
$dia = (strlen($_POST['dia'])==1)? '0'.$_POST['dia'] : $_POST['dia'];
$mes = (strlen($_POST['mes'])==1)? '0'.$_POST['mes'] : $_POST['mes'];
$anio = $_POST['anio'];

function QuitarArticulos($palabra) 
{ 
$palabra=str_replace("DEL ","",$palabra); 
$palabra=str_replace("LAS ","",$palabra); 
$palabra=str_replace("DE ","",$palabra); 
$palabra=str_replace("LA ","",$palabra); 
$palabra=str_replace("Y ","",$palabra); 
$palabra=str_replace("A ","",$palabra); 
return $palabra; 
} 
function EsVocal($letra) 
{ 
if ($letra == 'A' || $letra == 'E' || $letra == 'I' || $letra == 'O' || $letra == 'U' || 
$letra == 'a' || $letra == 'e' || $letra == 'i' || $letra == 'o' || $letra == 'u') 
return 1; 
else 
return 0; 
} 


function CalcularRFC($nombre,$apellidoPaterno,$apellidoMaterno,$fecha) 
{ 

$nombre =strtoupper(trim($nombre)); 
$apellidoPaterno =strtoupper(trim($apellidoPaterno)); 
$apellidoMaterno =strtoupper(trim($apellidoMaterno)); 

$rfc=""; 


$apellidoPaterno = QuitarArticulos($apellidoPaterno); 
$apellidoMaterno = QuitarArticulos($apellidoMaterno); 


$rfc = substr($apellidoPaterno,0, 1); 


$len_apellidoPaterno=strlen($apellidoPaterno); 
for($x=1;$x<$len_apellidoPaterno;$x++) 
{ 
$c=substr($apellidoPaterno,$x,1); 
if (EsVocal($c)) 
{ 
$rfc .= $c; 
break; 
} 
} 


$rfc .= substr($apellidoMaterno,0, 1); 

$rfc .= substr($nombre,0, 1); 

$rfc .= substr($fecha,6, 2).substr($fecha,2, 2).substr($fecha,0, 2); 

$rfcret=altisonantes($rfc);

return $rfcret;
} 

$fecha = $dia.$mes.$anio;

echo CalcularRFC($nombre,$paterno,$materno,$fecha);


function altisonantes($rfc2)
{
	$rfc2=str_replace("CACA", "CACX", $rfc2);
	$rfc2=str_replace("CACO", "CACX", $rfc2);
	$rfc2=str_replace("CAKA", "CAKX", $rfc2);
	$rfc2=str_replace("CAKO", "CAKX", $rfc2);
	$rfc2=str_replace("COGE", "COGX", $rfc2);
	$rfc2=str_replace("COGI", "COGX", $rfc2);
	$rfc2=str_replace("COJA", "COJX", $rfc2);
	$rfc2=str_replace("COJE", "COJX", $rfc2);
	$rfc2=str_replace("COJI", "COJX", $rfc2);
	$rfc2=str_replace("COJO", "COJX", $rfc2);
	$rfc2=str_replace("CULO", "CULX", $rfc2);
	$rfc2=str_replace("CAGO", "CAGX", $rfc2);
	$rfc2=str_replace("FETO", "FETX", $rfc2);
	$rfc2=str_replace("GUEY", "GUEX", $rfc2);
	$rfc2=str_replace("GUEI", "GUEX", $rfc2);
	$rfc2=str_replace("JOTO", "JOTX", $rfc2);
	$rfc2=str_replace("KACA", "KACX", $rfc2);
	$rfc2=str_replace("KACO", "KACX", $rfc2);
	$rfc2=str_replace("KAKA", "KAKX", $rfc2);
	$rfc2=str_replace("KAKO", "KAKX", $rfc2);
	$rfc2=str_replace("KOGE", "KOGX", $rfc2);
	$rfc2=str_replace("KOGI", "KOGX", $rfc2);
	$rfc2=str_replace("KOJA", "KOJX", $rfc2);
	$rfc2=str_replace("KOJI", "KOJX", $rfc2);
	$rfc2=str_replace("KOJO", "KOJX", $rfc2);
	$rfc2=str_replace("KULO", "KULX", $rfc2);
	$rfc2=str_replace("MAME", "MAMX", $rfc2);
	$rfc2=str_replace("MAMO", "MAMX", $rfc2);
	$rfc2=str_replace("MEAR", "MEAX", $rfc2);
	$rfc2=str_replace("MEAS", "MEAX", $rfc2);
	$rfc2=str_replace("MEON", "MEOX", $rfc2);
	$rfc2=str_replace("MION", "MIOX", $rfc2);
	$rfc2=str_replace("MOCO", "MOCX", $rfc2);
	$rfc2=str_replace("MULA", "MULX", $rfc2);
	$rfc2=str_replace("PEDA", "PEDX", $rfc2);
	$rfc2=str_replace("PEDO", "PEDX", $rfc2);
	$rfc2=str_replace("PENE", "PENX", $rfc2);
	$rfc2=str_replace("PITO", "PITX", $rfc2);
	$rfc2=str_replace("PUTA", "PUTX", $rfc2);
	$rfc2=str_replace("PUTO", "PUTX", $rfc2);
	$rfc2=str_replace("QULO", "QULX", $rfc2);
	$rfc2=str_replace("RATA", "RATX", $rfc2);
	$rfc2=str_replace("RUIN", "RUIX", $rfc2);
	$rfc2=str_replace("COGI", "COGX", $rfc2);
	$rfc2=str_replace("FALO", "FALX", $rfc2);
	return $rfc2;

}



?>