fork(1) download
  1. <?php
  2.  
  3. function find_substrings($r, $s) {
  4. $res = array();
  5. $cur = "";
  6. $r = '~^' . $r . '$~';
  7. for ($q = 0; $q < strlen($s); ++$q) {
  8. for ($w = $q; $w <= strlen($s); ++$w) {
  9. $cur = substr($s, $q, $w-$q);
  10. if (preg_match($r, $cur)) {
  11. array_push($res, $cur);
  12. }
  13. }
  14. }
  15. return $res;
  16. }
  17. print_r(find_substrings("ABA", "ABABA"));
  18. print_r(find_substrings("A+", "AA"));
Success #stdin #stdout 0.02s 52480KB
stdin
Standard input is empty
stdout
Array
(
    [0] => ABA
    [1] => ABA
)
Array
(
    [0] => A
    [1] => AA
    [2] => A
)