PHP查找上一个字符串位置

时间:2011-05-18 14:25:24

标签: php string find position

有没有办法可以从给定位置开始搜索变量,并从给定的起始位置向后找到变量中的字符串的起始位置。

例如,如果我最初做$getstart = strpos($contents, 'position', 0);

然后我想做$getprevpos = prevstrpos($contents, 'previous token', $getstart);

显然没有prevstrpos这样的功能,但我希望你明白我的意思。

示例文本区域(我现在的可怕示例): 这是一个例子,我想找到一个文本字符串的起始位置后找到前一个标记。

3 个答案:

答案 0 :(得分:1)

你可以strrpos( substr($contents, 0, $getstart), 'previous token')

答案 1 :(得分:0)

strrpos()有问题吗?如果'offset'为负数:“负值将停止在字符串结束之前的指定点搜索。”

答案 2 :(得分:0)

你可以试试这个。我认为应该适用于所有情况,但你应该对它进行一些测试。可能是这里和那里的一个错误,但你明白了。反转所有内容并对反转的字符串进行调整

prevstrpos( $contents, $token, $start )
{
  $revToken = strrev($token);
  $revStart = strlen($token) - $start;
  $revContent = strrev($content);
  $revFoundPos = strpos( $revContent, $revToken, $revStart );
  if( $revFoundPos != -1 )
  {
    $foundPos = strlen($token) - $revFoundPos;
  }
  else
  {
    $foundPos = -1;
  }
  return $foundPos;
}