Я пытаюсь написать процедуру быстрого форматирования строки, чтобы взять неформатированный код ISRC и добавить переносы там, где это требуется.
Например, ISRC USMTD9203901 должно переводиться как US-MTD-92-03901 . Узор:
[A-Z]{2}-[A-Z]{3}-[0-9]{2}-[0-9]{5}
Я пытался реализовать это с помощью substr, и это привело к созданию следующего блока кода:
function formatISRC($isrc) {
$country = substr($isrc, 0, 2);
$label = substr($isrc, 2, 3);
$year = substr($isrc, 5, 2);
$recording = substr($isrc, 7);
return $country.'-'.$label.'-'.$year.'-'.$recording;
}
Я уверен, что должен быть более эффективный способ выполнения строковых манипуляций, чем этот.