...preg match is...much less costly (in speed & resource usage)...
If you say so, but I'd sure like to see your numbers. 🙂
(I think) the straight PHP is more readable and more flexible. For example the code above can easily be put into a generically-reusable function:
function string_between_strings($input_str, $src_str_1, $src_str_2)
{
$len_str_1 = strlen($src_str_1);
$pos_str_1 = strpos($input_str, $src_str_1);
$pos_str_2 = strpos($input_str, $src_str_2);
$end_str_1 = $pos_str_1 + $len_str_1;
$found_len = $pos_str_2 - $end_str_1;
$found_str = substr($input_str, $end_str_1, $found_len);
return $found_str;
}