3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function get_values_between($the_string, $starts_with, $ends_with) { if(strpos($the_string , $starts_with)===false) return array(); $the_string = substr($the_string,strpos($the_string , $starts_with)); $temp = array_filter(explode($starts_with, $the_string)); $result_array = array(); $inc = 0; foreach($temp as $a_start_match) { if (strlen($ends_with) <= strlen($a_start_match)) { if(strpos($a_start_match , $ends_with)!==false) { $a_start_match = substr($a_start_match,0,strpos($a_start_match , $ends_with)); $result_array[$inc]=$a_start_match; $inc++; } } } return $result_array; } $the_string = "some string here string_1ABCDEFGHstring2 some string here string_1IJKLMNOPQRSTstring2 some string here string_1UVWstring2"; $start = "string_1"; $end = "string2"; print_r(get_values_between($the_string,$start,$end));
Output for 4.3.0 - 7.1.0
Array ( [0] => ABCDEFGH [1] => IJKLMNOPQRST [2] => UVW )