2016-03-06 124 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,第二個數據顯示了第二個數據。 –

相關問題