ISBN Conversion 10 13

From Fxp Wiki

Jump to: navigation, search

Source: http://www.linein.org/blog/2007/01/05/convert-isbn10-to-isbn13-with-php/

 
function genchksum13($isbn) {
    $isbn = trim($isbn);
    for ($i = 0; $i <= 12; $i++) {
        $tc = substr($isbn, -1, 1);
        $isbn = substr($isbn, 0, -1);
        $ta = ($tc*3);
        $tci = substr($isbn, -1, 1);
        $isbn = substr($isbn, 0, -1);
        $tb = $tb + $ta + $tci;
    }
    $tg = ($tb / 10);
    $tint = intval($tg);
    if ($tint == $tg) { return 0; }
    $ts = substr($tg, -1, 1);
    $tsum = (10 - $ts);
    return $tsum;
}
function isbn10_to_13($isbn) {
    $isbn = trim($isbn);
    if(strlen($isbn) == 12){ // if number is UPC just add zero
        $isbn13 = '0'.$isbn;}
    else
    {
        $isbn2 = substr("978" . trim($isbn), 0, -1);
        $sum13 = genchksum13($isbn2);
        $isbn13 = "$isbn2$sum13";
    }
    return ($isbn13);
}
 
// usage //
 
echo isbn10_to_13('1234567890'); // returns ISBN13
 

Date:Jul/13/08

Personal tools