2 files changed
+7
No files matched your search
@@ -438,6 +438,11 @@ private static function validateGndId(string $id, array $prefixes):string|false
|
||||
$id = strtr($id, $toRemove);
|
||||
}
|
||||
|
||||
// Handle extended IDs (like "4114170-2 (Fenster (Motiv)")
|
||||
if (str_contains($id, '(')) {
|
||||
$id = trim(explode('(', $id)[0]);
|
||||
}
|
||||
|
||||
// There is an issue with this regex
|
||||
if (preg_match("/^[0-9-X]*$/", $id) === false) {
|
||||
return false;
|
||||
|
||||
@@ -36,6 +36,8 @@ public function testValidIdsValidate():void {
|
||||
self::assertEquals("1037602218", MDNodaRepository::gnd->validateId("https://explore.gnd.network/gnd/1037602218"));
|
||||
self::assertEquals("102423008", MDNodaRepository::gnd->validateId("102423008"));
|
||||
self::assertEquals("102423008", MDNodaRepository::gnd->validateId("102423008,"));
|
||||
self::assertEquals("4114170-2", MDNodaRepository::gnd->validateId("4114170-2"));
|
||||
self::assertEquals("4114170-2", MDNodaRepository::gnd->validateId("4114170-2 (Fenster (Motiv)"));
|
||||
self::assertEquals(false, MDNodaRepository::gnd->validateId("fkld;s102423008"));
|
||||
|
||||
// NDL (Japan)
|
||||
|
||||
Reference in new issue
Block a user