我怎么去抓取下面的字符串的最后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
当前回答
使用多字节字符代码更安全的结果,总是使用mb_substr代替substr。例如utf-8:
$str = 'Ne zaman seni düşünsem';
echo substr( $str, -7 ) . ' <strong>is not equal to</strong> ' .
mb_substr( $str, -7, null, 'UTF-8') ;
其他回答
在获取字符串之前最好检查一下。
$newstring = substr($dynamicstring, -7);
如果字符大于7,则返回最后7个字符,否则返回提供的字符串。
如果长度小于7,则需要返回消息或错误
$newstring = (strlen($dynamicstring)>=7)?substr($dynamicstring, -7):"message";
文档字符串的子串
最后7个字符
$newstring = substr($dynamicstring, -7);
$newstring: 5409els
对于前7个字符
$newstring = substr($dynamicstring, 0, 7);
$newstring: 2490slk
第二个参数使用带负数的substr()。
$newstring = substr($dynamicstring, -7);
来自php文档:
字符串substr (String $ String, int $start [, int $length]) 如果start为负数,返回的字符串将从字符串末尾的第一个字符开始。
使用多字节字符代码更安全的结果,总是使用mb_substr代替substr。例如utf-8:
$str = 'Ne zaman seni düşünsem';
echo substr( $str, -7 ) . ' <strong>is not equal to</strong> ' .
mb_substr( $str, -7, null, 'UTF-8') ;
为了简单起见,如果您不想发送消息,可以试试这个
$new_string = substr( $dynamicstring, -min( strlen( $dynamicstring ), 7 ) );