2016-03-06 202 views
0
function getdatabetween($string, $start, $end){ 
    $sp = strpos($string, $start)+strlen($start); 
    $ep = strpos($string, $end)-strlen($start); 
    $data = trim(substr($string, $sp, $ep)); 
    return trim($data); 
} 
$dt = "Hello cat bye Hello dog bye"; 
echo getdatabetween($dt, 'Hello', 'bye'); 

如何将偏移量添加到此函数?php获取两个字符串之间的字符串与偏移量

实施例:

$dt = "Hello cat bye Hello dog bye"; 
echo getdatabetween($dt, 'Hello', 'bye', 0); //result = cat 
echo getdatabetween($dt, 'Hello', 'bye', 1); //result = dog 
+0

真的是你想要的吗?我不确定实际的用法是什么,但如果你想要检索所有的发生,而不是仅仅是第一,第二等,你应该考虑使用正则表达式匹配功能。 – purpleninja

回答

0

功能strpos实现OFFSET PARAM。

试试这个

function getdatabetween($string, $start, $end, $offset){ 
     $sp = strpos($string, $start, $offset)+strlen($start); 
     $ep = strpos($string, $end, $offset)-strlen($start); 
     $data = trim(substr($string, $sp, $ep)); 
     return trim($data); 
} 
+0

只显示第二个数据。第三个数据不显示。我添加了第三个数据,offset = 1,第二个数据显示了第二个数据。 –

相关问题