现在我在我的字符串substr($row->review[$i] , 0, 120)
上使用它,但是我想稍微进一步,在我限制它之后找到最后一个时期并取出所有内容。有什么想法吗?
答案 0 :(得分:5)
$a = 'string you got with substr. iwehfiuhewiufh ewiufh . iuewfh iuewhf
iewh fewhfiu h. iuwerfh iweh f.ei wufh ewifh iuhwef';
$p = strrpos($a, '.');
if ($p !== false) // Sanity check, maybe there isn't a period after all.
$a = substr($a, 0, $p + 1 /* +1 to include the period itself */);
echo $a;
答案 1 :(得分:1)
正如Alex指出的那样,strrpos()可以找到最后一个子字符串的位置:
$offset = strrpos($row->review[$i],'.');
然后使用此偏移量来切掉主变量的最后一部分:
echo substr($row->review[$i],$offset);
答案 2 :(得分:0)
请参阅strrpos()
上的文档。
答案 3 :(得分:0)
这是一个相当简单的解决方案,无论字符串中的扩展名或点数或其他字符有多长,它都能正常工作。
$filename = "abc.def.jpg";
$newFileName = substr($filename, 0 , (strrpos($filename, ".")));
//$newFileName will now be abc.def
基本上这只是寻找最后一次出现的。然后使用substring来检索到那一点的所有字符。
它类似于你的一个googled示例,但比正则表达式和其他示例更简单,更快速,更容易。好吧imo无论如何。希望它可以帮到某人。