Вы можете использовать функцию explode , чтобы разделить строку по токену, здесь используйте explode (";", $ string), чтобы получить следующий массив array("ok=0", "test=1", "cool=2")
Затем выможет перебрать массив и сделать второй вызов, чтобы взорваться:
foreach(explode(";", $string) as $pair)
{
$array = explode("=", $pair);
$key = $array[0];
$value = $array[1];
//Do something with $key and $value
}
Что касается вашей функции, то что-то вроде этого должно сработать:
function getStringInBetween($str, $start, $end){
$ini = strpos($str, $start);
if ($ini == 0) return '';
$ini += strlen($start);
$endIndex = strpos($str, $end, $ini);
if ($endIndex === false)
return substr($str, $ini);
else
return substr($str, $ini, $endIndex - $ini);
}
Также вы должны проверить $ini
против ложного, а не 0, как это: if ($ini === false) return '';