function substr_after_before($after, $before, $haystack) {
$pos1 = strpos($haystack, $after);
if($pos1 === false) return false;
$pos1 += strlen($after);
$pos2 = strpos($haystack, $before, $pos1);
if($pos2 === false) return false;
return substr($haystack, $pos1, $pos2 - $pos1);
}
function substr_from_until($from, $until, $haystack) {
$pos1 = strpos($haystack, $from);
if($pos1 === false) return false;
$pos2 = strpos($haystack, $until, $pos1+strlen($from));
if($pos2 === false) return false;
return substr($haystack, $pos1, $pos2+strlen($until)-$pos1);
}