Symfony\Polyfill\Mbstring

Mbstring::getConversionError │ private static │ CF7 1.0

Returns the error native mbstring throws for these encoding arguments, if any.

Метод класса: Mbstring{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$result = Mbstring::getConversionError( $function, $argument, $toEncoding, $fromEncoding ): ?string;
$function(строка) (обязательный)
.
$argument(int) (обязательный)
.
$toEncoding(обязательный)
.
$fromEncoding(обязательный)
.

Код Mbstring::getConversionError() CF7 6.2.4.1

private static function getConversionError(string $function, int $argument, $toEncoding, $fromEncoding): ?string
{
    if (!self::isConvertibleEncoding((string) $toEncoding)) {
        return \sprintf('%s(): Argument #%d ($to_encoding) must be a valid encoding, "%s" given', $function, $argument, $toEncoding);
    }

    if (null === $fromEncoding) {
        return null;
    }

    if (!$list = \is_array($fromEncoding) ? $fromEncoding : ('' === $fromEncoding ? [] : explode(',', $fromEncoding))) {
        return \sprintf('%s(): Argument #%d ($from_encoding) must specify at least one encoding', $function, 1 + $argument);
    }

    foreach ($list as $encoding) {
        $encoding = \is_array($fromEncoding) ? (string) $encoding : trim($encoding, " \t");

        // PHP 8.4 takes an empty entry of a comma-separated list for "auto"
        if ('' === $encoding && !\is_array($fromEncoding) && 80400 <= \PHP_VERSION_ID) {
            continue;
        }

        if (0 !== strcasecmp($encoding, 'auto') && !self::isConvertibleEncoding($encoding)) {
            return \sprintf('%s(): Argument #%d ($from_encoding) contains invalid encoding "%s"', $function, 1 + $argument, $encoding);
        }
    }

    return null;
}