我想知道,如果我们可以从后面开始修剪下面的字符串直到破折号?
细绳
doc/20-05-2013_08-44-19_Rusly_60_sample1.pdf
doc/20-05-2013_08-44-19_Rusly_60_logo.png
输出
sample1.pdf
logo.png
用这个
$str = "doc/20-05-2013_08-44-19_Rusly_60_sample1.pdf";
echo substr($str,strrpos($str,'_'));
简单地分解字符串并从数组中获取最后一个元素
$arr = explode("_", 'doc/20-05-2013_08-44-19_Rusly_60_sample1.pdf');
echo end($arr);
你可以这样解决它:
echo array_pop(explode('_', $string));
尝试这个
$result = preg_replace('/(?m)^.+_(.+)$/', '$1', $subject);
试试strchr
$str = "doc/20-05-2013_08-44-19_Rusly_60_sample1.pdf";
echo substr(strrchr($str, "_"), 1);
我们应该计算最新破折号的位置吗?
如果doc/20-05-2013_08-44-19_Rusly_60_
前缀具有恒定的 33 长度怎么办?
结果可能是samp_le1.pdf
?
echo substr( $str, 33 );
使用以下函数: http://php.net/manual/en/function.strrpos.php http://php.net/manual/en/function.substr.php
strrpos 查找最后一次出现的字符是什么时候(例如它是_)当没有找到出现时它返回false。然后用 substr 获取字符串
然后代码将是
$start = (strrpos('_', $string) !== false) ? strrpos($string) : 0;
$new_string = substr($string, $start);
你可以这样做:
$value = array_pop( explode( "_", $yourVar) );
echo $value;