在最后一段时间之后减去所有东西

时间:2012-03-30 18:08:40

标签: php string

现在我在我的字符串substr($row->review[$i] , 0, 120)上使用它,但是我想稍微进一步,在我限制它之后找到最后一个时期并取出所有内容。有什么想法吗?

4 个答案:

答案 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无论如何。希望它可以帮到某人。