首页 > 解决方案 > 获取带索引的函数之间的字符串

问题描述

我一直在使用这个功能

function get_string_between($string, $start, $end){
  $string = ' ' . $string;
  $ini = strpos($string, $start);
  if ($ini == 0) return '';
  $ini += strlen($start);
  $len = strpos($string, $end, $ini) - $ini;
  return substr($string, $ini, $len);
}

因为年龄和一切都很好,但现在我需要指定索引,所以例如在这样的代码中:

<abc>Max</def><abc>Mike</def><abc>Roy</def>

我想能够得到“迈克”,所以我想使用

get_string_between($string, "<abc>", "</def>", 1)

我找不到任何解决方案,也无法使用正则表达式。谢谢你的帮助。

标签: php

解决方案


使用 $offset 参数strpos跳过以前的事件。

  • 预先声明$ini为零

  • $ini = strpos(…, $ini)do/while循环包裹你。

  • $index--当大于零时使其循环。

  • && ++$ini在条件下增加,所以strpos真的在寻找下一次出现。


推荐阅读