]{1,60})",$pattern)."/si";
if(preg_match($pattern,$q)){
//print $pattern;
preg_match_all($pattern,$q,$m);
$ret=array();
for($i=1;$i<=count($m)-1;$i++){
$ret[$i]=$m[$i][0];
}
return $ret;
}
}
function answer($qmem,$qar,$apattern){
//print_r($qar);
foreach($qmem as $mindex => $memar){
$max=count($qar);
$c=0;
$a=$apattern;
$shit=$memar;
foreach($qar as $qindex => $word){
print "$word::".$memar[$qindex]."::$max::$c
";
if($word == $memar[$qindex]){
$c++;
}
}
print "
";
if($c>=$max){
//print_r($shit);
print "found";
foreach($memar as $aindex => $aword){
$a=str_replace("{".$aindex."}",$aword,$a);
}
return "$a";
}
}
}
if(strstr($q,"::")){
$ex=explode("::",$q);
$pattern1=$ex[0];
$pattern2=$ex[1];
//unlink("patternmem.txt");
if(is_file("patternmem.txt")){
$pattermemory=unserialize(file_get_contents("patternmem.txt"));
}else{
$pattermemory=array();
}
//print_r($pattermemory);
$pattermemory[$pattern1]=$pattern2;
file_put_contents("patternmem.txt",serialize($pattermemory));
print "csirke";
}else{
$pattermemory=unserialize(file_get_contents("patternmem.txt"));
//print_r($pattermemory);
//unlink("mem.txt");
foreach($pattermemory as $qq => $a){
$m=ispreg($q,$a);
if($m){
if(is_file("mem.txt")){
$mem=unserialize(file_get_contents("mem.txt"));
}else{
$mem=array();
}
$mem[$qq][]=$m;
file_put_contents("mem.txt",serialize($mem));
}
}
foreach($pattermemory as $qq => $a){
$m=ispreg($q,$qq);
if($m){
$mem=unserialize(file_get_contents("mem.txt"));
print $qq;
print_r($m);
//print_r($mem[$qq]);
print answer($mem[$qq],$m,$a);
}
}
}
?>