i have one string and i need to get text between text
Scenario
SELECT * FROM EMP WHERE EMPID > 0
from above string i need to get
array([0]=>'*',[1]=>'EMP')
function BetweenStr($InputString, $StartStr, $EndStr=0, $StartLoc=0)
{
if (($StartLoc = strpos($InputString, $StartStr, $StartLoc)) === false) { return; }
$StartLoc += strlen($StartStr);
if (!$EndStr) { $EndStr = $StartStr; }
if (!$EndLoc = strpos($InputString, $EndStr, $StartLoc)) { return; }
return substr($InputString, $StartLoc, ($EndLoc-$StartLoc));
}
above function works if i give $InputString, $StartStr and $EndStr but if i did not pass $EndStr it's not work
$hd_qa['SELECT'] = $this->BetweenStr($myQuery,'SELECT','FROM');
**Result => *
$hd_qa['FROM'] = $this->BetweenStr($myQuery,'FROM','WHERE');
**Result => EMP
$hd_qa['WHERE'] = $this->BetweenStr($myQuery,'WHERE','');
** NOT WORKING