我有字符串,我需要从中获取开始和结束短语之间的子字符串。下面是我的字符串以及开始和结束短语。
我的字符串
安慰奖-卢比。8,000/-NN 189822 NO 189822 NP 189822 NR 189822 NS 189822 NU 189822 NU 189822 NV 189822 NW 189822 NX 189822 NX 189822 NY 189822 NZ 189822 NZ 189822 NZ 189822 2ND奖2ND-RS奖) NO 856109 (KOTTAYAM) NP 875729 (THRISSUR) NR 290878 (KOTTAYAM) NS 289830 (KOTTAYAM) NT 514156 (ALAPPUZHA) NU 178089 (PATHANAMTHITTA) NV 682950 (KOTTAYAM) NW 154659 (THRISSUR) NX 902063 (KANNUR) NY 747937 (IDUKKI ) NZ 393078 (KASARGODE) 以下列数字结尾的门票 4th Prize- Rs. 5,000/- 2427 3476 4343 5232 5805 6026 6028 6893 7321 7509 7682 9917 五等奖-卢比。1,000/ - 0084 0999 1043 1059 1617 1869 2351 3132 3209 3373 3972 3972 4109 4758 4955 5082 5649 5814 6219 6653 6800 7093 7093 7093 7325 7637 7637 7832 8368855555555555555555555555555555555555555555555555555555555999999999999999性范AANchinhin
开始短语: 安慰奖-卢比。8,000/-
结束语: 二等奖 - 卢比:500,000/-
预期结果: NN 189822 NO 189822 NP 189822 NR 189822 NS 189822 NU 189822 NV 189822 NW 189822 NX 189822 NY 189822 NZ 189822
我已经有一个小功能,但无法正常工作。:-)
function getInbetweenStrings($start, $end, $str){
$matches = array();
$regex = "/$start([a-zA-Z0-9_]*)$end/";
preg_match_all($regex, $str, $matches);
return $matches[1];
}
调用方法为
$start = "Consolation Prize- Rs. 8,000\/-";
$end = "2nd Prize- Rs :500,000\/-";
$consold = $this->getInbetweenStrings($start, $end, $content1);
print_r($consold);