我怎么去抓取下面的字符串的最后7个字符?
例如:
$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;
这将显示:
The new string is: 5409els
我怎么去抓取下面的字符串的最后7个字符?
例如:
$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;
这将显示:
The new string is: 5409els
当前回答
为了简单起见,如果您不想发送消息,可以试试这个
$new_string = substr( $dynamicstring, -min( strlen( $dynamicstring ), 7 ) );
其他回答
umh . .像这样吗?
$newstring = substr($dynamicstring, -7);
第二个参数使用带负数的substr()。
$newstring = substr($dynamicstring, -7);
来自php文档:
字符串substr (String $ String, int $start [, int $length]) 如果start为负数,返回的字符串将从字符串末尾的第一个字符开始。
字符串的最后7个字符:
$rest = substr( "abcdefghijklmnop", -7); // returns "jklmnop"
这里有多个正确答案。但如果你想要substr的“安全”版本,需要什么并不明显,
与substr相同,当字符串“足够长”,但如果字符串太短,则返回原始字符串(而不是返回false)。
/** Unlike substr, handles case where $string is too short.
* @param $string
* @param $nChars - negative to return at end of string.
*/
function safe_substr($string, $nChars) {
if ($nChars == 0 || !isset($string))
return "";
if (strlen($string) <= abs($nChars))
// $string is too short (or exactly the desired length). Return the string.
return $string;
return substr($string, $nChars);
}
注意:对于UTF-8字符,定义safe_mb_substr,将上面的substr替换为mb_substr。将strlen替换为mb_strlen。
最后7个字符
$newstring = substr($dynamicstring, -7);
$newstring: 5409els
对于前7个字符
$newstring = substr($dynamicstring, 0, 7);
$newstring: 2490slk