src/IsbnTools.php
public function format(string $isbn) : string
    {
        if ($this->cleanupBeforeValidate) {
            if (preg_match(Internal\Regexp::ASCII, $isbn) === 0) {
                throw Exception\InvalidIsbnException::forIsbn($isbn);
            }

            $isbn = preg_replace(Internal\Regexp::NON_ALNUM, '', $isbn);
        }

        if (preg_match(Internal\Regexp::ISBN13, $isbn) === 1) {
            if ($this->validateCheckDigit) {
                if (! Internal\CheckDigit::validateCheckDigit13($isbn)) {
                    throw Exception\InvalidIsbnException::forIsbn($isbn);
                }
            }

            return Internal\RangeService::format($isbn);
        }

        $isbn = strtoupper($isbn);

        if (preg_match(Internal\Regexp::ISBN10, $isbn) === 1) {
            if ($this->validateCheckDigit) {
                if (! Internal\CheckDigit::validateCheckDigit10($isbn)) {
                    throw Exception\InvalidIsbnException::forIsbn($isbn);
                }
            }

            return Internal\RangeService::format($isbn);
        }

        throw Exception\InvalidIsbnException::forIsbn($isbn);
    }
public function format(string $isbn) : string
    {
        if ($this->cleanupBeforeValidate) {
            if (preg_match(Internal\Regexp::ASCII, $isbn) === 0) {
                throw Exception\InvalidIsbnException::forIsbn($isbn);
            }

            $isbn = preg_replace(Internal\Regexp::NON_ALNUM, '', $isbn);
        }

        if (preg_match(Internal\Regexp::ISBN13, $isbn) === 1) {
            if ($this->validateCheckDigit) {
                if (! Internal\CheckDigit::validateCheckDigit13($isbn)) {
                    throw Exception\InvalidIsbnException::forIsbn($isbn);
                }
            }

            return Internal\RangeService::format($isbn);
        }

        $isbn = strtoupper($isbn);

        if (preg_match(Internal\Regexp::ISBN10, $isbn) === 1) {
            if ($this->validateCheckDigit) {
                if (! Internal\CheckDigit::validateCheckDigit10($isbn)) {
                    throw Exception\InvalidIsbnException::forIsbn($isbn);
                }
            }

            return Internal\RangeService::format($isbn);
        }

        throw Exception\InvalidIsbnException::forIsbn($isbn);
    }
public function format ( string $ isbn ) : string { if ( $ this -> cleanupBeforeValidate ) { if ( preg_match ( Internal \ Regexp :: ASCII , $ isbn ) === 0 ) { throw Exception \ InvalidIsbnException :: forIsbn ( $ isbn ) ; } $ isbn = preg_replace ( Internal \ Regexp :: NON_ALNUM , '' , $ isbn ) ; } if ( preg_match ( Internal \ Regexp :: ISBN13 , $ isbn ) === 1 ) { if ( $ this -> validateCheckDigit ) { if ( ! Internal \ CheckDigit :: validateCheckDigit13 ( $ isbn ) ) { throw Exception \ InvalidIsbnException :: forIsbn ( $ isbn ) ; } } return Internal \ RangeService :: format ( $ isbn ) ; } $ isbn = strtoupper ( $ isbn ) ; if ( preg_match ( Internal \ Regexp :: ISBN10 , $ isbn ) === 1 ) { if ( $ this -> validateCheckDigit ) { if ( ! Internal \ CheckDigit :: validateCheckDigit10 ( $ isbn ) ) { throw Exception \ InvalidIsbnException :: forIsbn ( $ isbn ) ; } } return Internal \ RangeService :: format ( $ isbn ) ; } throw Exception \ InvalidIsbnException :: forIsbn ( $ isbn ) ; }
Formats an ISBN number.

@param string $isbn The ISBN-10 or ISBN-13 number.

@return string The formatted ISBN number.

@throws Exception\InvalidIsbnException If the ISBN is not valid.
Formats an ISBN number .