viernes, junio 16, 2006

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 :)


// 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");

?>

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]

<< Página principal