Как мне изменить определенную группу символов внутри строки? Мне нужно изменить их численным способом - PullRequest
1 голос
/ 08 апреля 2020

Мне нужно уменьшить значение ansi char, если символ выше 159, уменьшить его на 128. Я использовал следующую функцию, но ничего не делал. Есть ли какой-нибудь способ получить доступ и изменить символы внутри строки PHP аля ANSI C char? как?

function ConvertChars($str)
{
    $result = "";

    for ($i = 0; $i < strlen($str); ++$i)
    {
        if ((int)$str[$i] > 159) 
            $result.= $str[$i]-128;
        else
            $result.= $str[$i];     
    }

    return $result;     
}

1 Ответ

1 голос
/ 08 апреля 2020

Чтобы получить значение двоичного числа нужного вам символа ord() и сделать обратное, чтобы сгенерировать символ из его числового значения в желаемый байт chr().

function ConvertChars($str)
{
    for ($i = 0, $len = strlen($str); $i < $len; ++$i)
    {
        if (ord($str[$i]) > 159) {
            $str[$i] = chr(ord($str[$i]) - 128);
        }
    }

    return $str;     
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...