<?php
$haystack='Data set 1: hay2= this is a bunch of hay hay1= Gold_Needle hay=Gold
Data Set 2: hay2=Silver_Needle hay=Silver';
$needle1_Begin='hay1=';
$needle2_Begin='hay2=';
$needle1_End='hay=Gold';
$needle2_End='hay=Silver';
$starts = array($needle1_Begin,$needle2_Begin); $ends = array($needle1_End,$needle2_End);
$re = array_reduce($starts, function($res, $e) use (&$ends) { $res .= '(' . $e . '\h*\K(?:.(?!' . $e . '))*?(?= ' . current($ends) . '))|'; next($ends); return $res;} ); $re = '/' . substr($re, 0, -1) . '/';
?>
Cgo8P3BocAokaGF5c3RhY2s9J0RhdGEgc2V0IDE6IGhheTI9IHRoaXMgaXMgYSBidW5jaCBvZiBoYXkgIGhheTE9IEdvbGRfTmVlZGxlIGhheT1Hb2xkCgkJCSBEYXRhIFNldCAyOiBoYXkyPVNpbHZlcl9OZWVkbGUgaGF5PVNpbHZlcic7CgokbmVlZGxlMV9CZWdpbj0naGF5MT0nOwokbmVlZGxlMl9CZWdpbj0naGF5Mj0nOwoJCQkKJG5lZWRsZTFfRW5kPSdoYXk9R29sZCc7CiRuZWVkbGUyX0VuZD0naGF5PVNpbHZlcic7CgkKJHN0YXJ0cyA9IGFycmF5KCRuZWVkbGUxX0JlZ2luLCRuZWVkbGUyX0JlZ2luKTsKJGVuZHMgPSBhcnJheSgkbmVlZGxlMV9FbmQsJG5lZWRsZTJfRW5kKTsKCiRyZSA9IGFycmF5X3JlZHVjZSgkc3RhcnRzLCBmdW5jdGlvbigkcmVzLCAkZSkgdXNlICgmJGVuZHMpIHsKCSRyZXMgLj0gJygnIC4gJGUgLiAnXGgqXEsoPzouKD8hJyAuICRlIC4gJykpKj8oPz0gJyAuIGN1cnJlbnQoJGVuZHMpIC4gJykpfCc7CgluZXh0KCRlbmRzKTsgcmV0dXJuICRyZXM7fSApOwokcmUgPSAnLycgLiBzdWJzdHIoJHJlLCAwLCAtMSkgLiAnLyc7CgppZiAocHJlZ19tYXRjaF9hbGwoJHJlLCAkaGF5c3RhY2ssICRtKSkKICAgcHJpbnRfcigkbVswXSk7Cj8+