Надо что б скрипт с текстового файла вида Code: 19589073 11306657 16150100 2515407 24919724 23897603 8524608 Выбирал номера с масками x , xy, xyz, xyza, xyzab .... Как icq номера)
KATYA,впринципе может ты и права,но вопщет человек написал в розделе PHP, PERL, MySQL, JavaScript.,наверное же не просто так...
HTML: <? function uin_beautiful($uin) { if(is_numeric($uin)) { $length=strlen($uin); if($length>=5 && $length<=9) { $buf=substr($uin,0,1); for($i=1;$i<$length;$i++) { $simvol=substr($uin,$i,1); if(!preg_match("/$simvol/",$buf)) { $buf.=$simvol; } } $buf_length=strlen($buf); switch($buf_length) { case 1: return 'x'; break; case 2: return 'xy'; break; case 3: return 'xyz'; break; case 4: return 'xyza'; break; default: return 'ХЗ'; break; } } else return 'Неверная длинна uin-а'; } else return 'Введите верный uin'; } ?>
Вот написал такое: PHP: <?php $result=file_get_contents('uins.txt'); for ($bezk=0; $bezk>-1; $bezk++){ $vid="0"; $abc=""; $ex=explode("\r\n", $result); $num=$ex[$bezk]; if($num==""){exit;} $vid="0"; for ($i=0; $i<10; $i++){ if (preg_match("/$i/",$num)){ $vid=$vid+1; $abc.=$vid; } } $abc=str_replace("1","x",$abc); $abc=str_replace("2","y",$abc); $abc=str_replace("3","z",$abc); $abc=str_replace("4","a",$abc); $abc=str_replace("5","b",$abc); $abc=str_replace("6","c",$abc); $abc=str_replace("7","d",$abc); $abc=str_replace("8","e",$abc); $abc=str_replace("9","f",$abc); $abc=str_replace("0","g",$abc); echo $num." - ".$abc."<br>"; } ?>
PHP: <?php $nums=Array( 19589073, 11306657, 16150100, 2515407, 24919724, 23897603, 8524608, ); $numtype=Array(1=>'x',2=>'xy',3=>'xyz',4=>'xyza',5=>'xyzab',6=>'xyzabc',7=>'xyzabcd',8=>'xyzabcde',9=>'xyzabcdef',10=>'xyzabcdefg'); foreach($nums as $num) { $used=Array(); for($i=0,$num=$num.'',$cnt=strlen($num);$i<$cnt;$i++) if(!in_array($num{$i},$used)) $used[]=$num{$i}; print 'NUM: '.$num.' - '.$numtype[count($used)].'<br>'; } ?> Code: NUM: 19589073 - xyzabcd NUM: 11306657 - xyzabc NUM: 16150100 - xyza NUM: 2515407 - xyzabc NUM: 24919724 - xyzab NUM: 23897603 - xyzabcd NUM: 8524608 - xyzabc А вот с возможностью выбора нужных: PHP: <?php $nums=Array( 19589073, 11306657, 16150100, 2515407, 24919724, 23897603, 8524608, ); $numtype=Array(1=>'x',2=>'xy',3=>'xyz',4=>'xyza',5=>'xyzab',6=>'xyzabc',7=>'xyzabcd',8=>'xyzabcde',9=>'xyzabcdef',10=>'xyzabcdefg'); $mintype=1; //выбираем все от x $maxtype=4; //до xyza foreach($nums as $num) { $used=Array(); for($i=0,$num=$num.'',$cnt=strlen($num);$i<$cnt;$i++) if(!in_array($num{$i},$used)) $used[]=$num{$i}; if(($tp=count($used))>=$mintype && $tp<=$maxtype) print 'NUM: '.$num.' - '.$numtype[$tp].'<br>'; } ?> Выведет только один подходящий по критериям: Code: NUM: 16150100 - xyza