public function run($args)
{
@set_time_limit(0);
@ini_set(‘memory_limit’, ‘2048M’);
$str = $args[0];
$obj_str = $this->createStr($str,”#”);
$result = array();
$mx = 0;
for($i = 0;$i< strlen($obj_str);$i++){
$result[$i] = 0;
if($mx > strlen($obj_str)-$mx){
$mx = strlen($obj_str)-$mx;
}
for($j = 0;$j
if($obj_str[$i-$j] == $obj_str[$i+$j]){
$result[$i]++;
}else{
break;
}
}
$mx++;
}
$index = array_search(max($result),$result);
while(true){
$index2 = array_search(max($result),$result);
if($index > $index2){
break;
}else{
$len = $result[$index2];
$out_string = str_replace(‘#’,”,substr($obj_str,$index2-$len+1,($len-1)*2+1));
echo strlen($out_string).”|”.$out_string.”\n”;
unset($result[$index2]);
}
}
}
public function createStr($str,$symbol = “#”){
if(strlen($str) == 0)
return $str;
$str_to_arr = str_split($str,1);
array_unshift($str_to_arr,”$”);
array_push($str_to_arr,”$”);
return implode($symbol,$str_to_arr);
}