<?php

function find_substrings($r, $s) {
  $res = array();
  $cur = "";
  $r = '~^' . $r . '$~';
  for ($q = 0; $q < strlen($s); ++$q) {
    for ($w = $q; $w <= strlen($s); ++$w) {
    	$cur = substr($s, $q, $w-$q);
      	if (preg_match($r, $cur)) {
        	array_push($res, $cur);
      	}
    }
  }
  return $res;
}
print_r(find_substrings("ABA", "ABABA"));
print_r(find_substrings("A+", "AA"));