PHP: 字符串中指定字符的最后n个字符?
PHP: Last n characters to a specified character in a string?
我想从字符串中获取最后一个“-”字符之后的最后 n 个字符。喜欢:
$string = "something-123";
$substring = 123;
$string2 = "something-253672-something-21";
$substring2 = 21;
这些字符只能是数字。
我怎样才能用 PHP 做到这一点?
(抱歉英语不好)
您可以分解字符串并解析结果数组的最后一个元素:
$splitted = explode("-", $string);
$numbers = end($splitted);
if (is_numeric($numbers)) {
echo "Yay!";
} else {
echo "Nay!";
}
您可以使用此功能来解决您的问题。
return is_numeric(array_pop(explode('-', $string)));
应该一行完成...
substr($string, strrpos($string, '-') + 1);
而且总有一个正则表达式:
preg_match('/.*-([0-9]+)$/',$yourstring,$match);
echo $match[1];
以下代码将根据您的查询工作:
$mystring ="something-253672-something-21";
// Get position of last '-' character.
$pos = strrpos($mystring, "-");
// Get number after '-' character.
$last_number = substr($mystring,$pos+1);
echo $last_number;
试试下面的一行:
$substring = (int)end((explode("-", $string)));
它将始终为数字(0
如果数字无效)。
我想从字符串中获取最后一个“-”字符之后的最后 n 个字符。喜欢:
$string = "something-123";
$substring = 123;
$string2 = "something-253672-something-21";
$substring2 = 21;
这些字符只能是数字。 我怎样才能用 PHP 做到这一点? (抱歉英语不好)
您可以分解字符串并解析结果数组的最后一个元素:
$splitted = explode("-", $string);
$numbers = end($splitted);
if (is_numeric($numbers)) {
echo "Yay!";
} else {
echo "Nay!";
}
您可以使用此功能来解决您的问题。
return is_numeric(array_pop(explode('-', $string)));
应该一行完成...
substr($string, strrpos($string, '-') + 1);
而且总有一个正则表达式:
preg_match('/.*-([0-9]+)$/',$yourstring,$match);
echo $match[1];
以下代码将根据您的查询工作:
$mystring ="something-253672-something-21";
// Get position of last '-' character.
$pos = strrpos($mystring, "-");
// Get number after '-' character.
$last_number = substr($mystring,$pos+1);
echo $last_number;
试试下面的一行:
$substring = (int)end((explode("-", $string)));
它将始终为数字(0
如果数字无效)。