忽略 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
我正在使用 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