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)); //echo $the_string; $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)) { $a_start_match = substr($a_start_match,0,strpos($a_start_match , $ends_with)); echo substr($a_start_match, -strlen($ends_with))." against ".$ends_with."\n"; if(substr($a_start_match, -strlen($ends_with)) === $ends_with) { echo $a_start_match."\n"; $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_1UVWstring2XYZ"; $start = "string_1"; $end = "string2"; $result = get_values_between($the_string,$start,$end); //print_r($result);
Output for 4.3.0 - 5.0.5, 5.1.1 - 5.2.1, 5.2.7 - 7.1.0
BCDEFGH against string2 NOPQRST against string2 UVW against string2
Output for 5.2.2 - 5.2.6
BCDEFGH against string2 NOPQRST against string2 against string2
Output for 5.1.0
Fatal error: fatal flex scanner internal error--end of buffer missed in /in/dCWn9 on line 51
Process exited with code 255.