忽略 substring() 中的空格

Ignoring spces in substr()

我正在使用 substr() 获取数字的最后一位数字。但是,它也需要考虑空间。有办法避免吗?首先使用 preg_replace 删除空格不是一种选择,因为我希望它们(空格)出现在结果中。

substr($match[0], -5)

举例说明现在的情况:

123456789 - 数字 56789 将显示

1234 56 78 9 - 根据空格的位置,它可能不显示任何内容或 78、7 或 9 等。

您可以在调用 substr 之前删除空格

substr(str_replace(" ", "", $match[0]), -5)

或者,如果您想保留空格

function RightSubstrIgnoreChar($string, $length, $IgnoreChar = ' ') {
    $r = "";
    for ($n = strlen($string) - 1; $n >= 0 && strlen(str_replace($IgnoreChar, "", $r)) < $length; $n--) {
        $r = substr($string, $n, 1) . $r;
    }
    return $r;
}

echo RightSubstrIgnoreChar("1234 56 78 9", 5);

输出

56 78 9