Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Напишите скрипт отбора номеров по критериям (https://forum.antichat.xyz/showthread.php?t=123007)

_Spamer_ 31.05.2009 16:51

Напишите скрипт отбора номеров по критериям
 
Надо что б скрипт с текстового файла вида
Код:

19589073
11306657
16150100
2515407
24919724
23897603
8524608

Выбирал номера с масками x , xy, xyz, xyza, xyzab .... Как icq номера)

Mixon 31.05.2009 17:13

а минимальная и максимальная величина чисел?

KATYA 31.05.2009 17:13

А программой ICQSafeBook не пробовал?

_Spamer_ 31.05.2009 17:15

Минимум 2-х значное число, максимум - 10-ти значное

Safebook не катит

Mixon 31.05.2009 17:15

KATYA,впринципе может ты и права,но вопщет человек написал в розделе PHP, PERL, MySQL, JavaScript.,наверное же не просто так...

KATYA 31.05.2009 17:34

Код 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';
}
?>


Mixon 31.05.2009 17:47

Вот написал такое:

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>";
}
?>


d_x 31.05.2009 18:33

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>';
}

?>

Код:

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>';
}

?>

Выведет только один подходящий по критериям:
Код:

NUM: 16150100 - xyza

_Spamer_ 31.05.2009 19:42

Всем спс:)


Время: 13:41