PHP - 在位置和下一个字符之间获取字符串

时间:2016-10-11 06:44:28

标签: php

例如,我的字符串是:DELIMxxxyyyzzzaaabbbcc,DELIMaaabbcccxxxyyyzzz,DELIMzzzyyyxxxaaabbbccc,DELIMyyyaaabbb,

您可以看到此数据按分隔组进行组织。我想提取第二组(例如)我得到的位置(在本例中为24)和下一个我知道为“DELIM”的分隔符。

我会使用substrstrpos或其他人的组合来获取此内容吗?

2 个答案:

答案 0 :(得分:0)

您可以使用带有偏移的strpos

$mystring = 'DELIMxxxyyyzzzaaabbbcc,DELIMaaabbcccxxxyyyzzz,DELIMzzzyyyxxxaaabbbccc,DELIMyyyaaabbb,'
$pos = strpos($mystring, 'DELIM', 24+1 + strlen('DELIM'));

$myPart = substr($mystring, 24, $pos);

答案 1 :(得分:0)

使用strpos选择分隔组的开始和结束位置。然后,您可以使用substr通过选择这两个位置之间的字符串来获取已分隔的组。

$offset = 4;

$start = strpos($mystring, 'DELIM', $offset); //select start point

$end = strpos($mystring, 'DELIM', $start+5); //select end point by selecting next delimiter

$substr = substr($mystring, $start, $end-$start);