ISBN 10 a ISBN 13
Ahora que, en pocos meses, todo el mundo (editoriales, distribuidoras, librerías) va a estar obligado a usar el ISBN13, aquí os dejo la funcioncilla en PHP que convierte del antiguo formato al nuevo, calculando el nuevo dígito de control.
Por si sirve y eso :)
Por si sirve y eso :)
// ISBN10 a ISBN13
function isbn102isbn13($b) {
$b=str_replace(array(" ","-"),"",$b);
if (strlen($b)!=10) return FALSE;
$b=substr($b,0,9);
if (!is_numeric($b)) return FALSE;
$s=38;
for ($a="13",$p=1,$i=0; $i<12; $i++,$p=!$p) $s+=$b[$i]*$a[$p];
$d=10-($s-10*round($s/10,0));
if ($d==10) $d=0;
return "978$b$d";
}
echo isbn102isbn13( "84 784491-83");
?>