ISBN10 zu ISBN13 Umrechnung mit PHP
2006-11-29Ein kleines Problem stellte sich mir gerade… wie rechne ich eine alte ISBN-10-Nummer mit 10 Stellen (bzw. 13 mit Bindestrichen) in eine neue, ab 1.1.2007 vorgeschriebene ISBN-13 mit 13 Stellen umzuwandeln.
function isbn10to13($isbn10){ $isbnclean = preg_replace("/([^d])/", "",substr($isbn10,0,-1)); if (strlen($isbnclean) != 9) { return $isbn10; } $isbn="978".$isbnclean;
$check=0; for ($i=0;$i<12;$i++) { $check+=(($i%2)*2+1)*$isbn{$i}; } $check=(10-($check%10))%10; return "978-".substr($isbn10,0,12).$check;}
Dieses Skript tut eben genau das!













Antworten
Hallo,
in der vorletzten Zeile muss es
return “978-”.substr($isbn10,0,-1).$check;
heissen, also “-1″ statt “12″.
Ansonsten ein schönes Script, danke!
@andre: es funktionieren beide Varianten. -1 bedeutet bis zum vorletzten Zeichen und meine Variante geht bis zum 12. Zeichen.
Hallo
vielen Dank für dieses Skript! Andre scheint aber recht zu haben. Mit deinem Code kommt eine 14 Stellige raus… die nicht mit bekannten ISBN-13 über einstimmt (Vorletze Zahl ist zu viel). Mit Andres Code kommt ne 13ner raus die stimmt..
Gruß Jens
Wo wir schon bei dem Thema Umrechnungen sind
Bei http://www.umrechnungen.de kann man Maßeinheiten mittels Ajax-Anwendung online umrechnen.
Kommentieren