Расставить точки php

Тема в разделе "HTML / CSS / PHP/ JavaSript / Python и.т.п.", создана пользователем savcorp, 19.06.16.

  1. savcorp

    savcorp Новичок

    Сообщения:
    99
    Симпатии:
    34
    Баллы:
    19
    Суть такая, скрипт расставляет точки в гугловские мыла

    $m_arr=explode("@",$meills);
    $meil = ($m_arr[0]);
    $meil = substr_replace($meil, "." ,rand(1,4), 0 );
    $meil = substr_replace($meil, "." ,rand(5,7), 0 );

    Нужно что то более внятное и надёжное, это писал я, в php не силён.
    Кто понимает что тут, тому желательно и отвечать....

    точкователя gmail или скрипта не предлагать, ибо есть, но он размножает в файл, а мне нужно на лету!
     
  2. spartanets

    spartanets Новичок

    Сообщения:
    9
    Симпатии:
    3
    Баллы:
    8
    а что значит "более внятное и надёжное", какая вообще задача стоит?
     
  3. qoqr

    qoqr Новичок

    Сообщения:
    25
    Симпатии:
    3
    Баллы:
    9
  4. savcorp

    savcorp Новичок

    Сообщения:
    99
    Симпатии:
    34
    Баллы:
    19
    Насколько мне мой крошечный мозг даёт понять то точки ставяться только случайным образом, первый раз между первым и 4 символами, а второй между 5 и 7
    что не айс, хотелось бы выкроять часть из этих строк, но ума не хватает

    PHP:
    <?php
    set_time_limit
    (0);

    function 
    add()
    {
    global 
    $ss;
    for (
    $i=0;$i<strlen($ss);$i++)
    {
    if (
    $ss[$i]==1)
    {
    $ss[$i]='0';
    }
    else
    {
    $ss[$i]='1';
    return 
    $ss;
    break;
    }
    }
    return 
    '';
    }

    $gmail=[email protected]';
    $handle fopen('newgmail.txt''w');

    $a=explode([email protected]',$gmail);
    $str=$a[0];
    $len=strlen($str)-1;
    $ss='';
    for (
    $i=0;$i<$len;$i++)
    $ss.='0';

    while (
    1==1)
    {
    $s=add();
    if (
    $s=='')
    {
    break;
    }
    $gmail_new=$str[0];
    for (
    $i=1;$i<=$len;$i++)
    {
    if (
    $s[$i-1]!='0')
    {
    $gmail_new.='.';
    }
    $gmail_new.=$str[$i];
    }

    fwrite($handle$gmail_new.[email protected]'.chr (10));

    }
    fclose($handle);
    echo 
    'done';
    ?>

    не хочется чтобы точки шли подряд, так как некоторые двиги отклоняют такие мыла!
     
  5. qoqr

    qoqr Новичок

    Сообщения:
    25
    Симпатии:
    3
    Баллы:
    9
    Подскажу алгоритм: разбиваешь на массив побуквенно и затем объединяешь обратно, рандомно добавляя/не добавляя точку после каждого элемента.
     
    coolfox нравится это.
  6. savcorp

    savcorp Новичок

    Сообщения:
    99
    Симпатии:
    34
    Баллы:
    19
    Я сказал что написать что то лёгенькое типа генератор проектов под хрум это да, а вот массивы и прочее это пока не изучил, тяжеловато даётся в старости, знал бы масивы туда обратно тут бы тему не создавал.

    Ну и создал походу напрасно, так как помощи нет, один флуд....
     
  7. qoqr

    qoqr Новичок

    Сообщения:
    25
    Симпатии:
    3
    Баллы:
    9
    PHP:
    <?php
    $src 
    [email protected]';
    $max '100';
    $all_emails = array();
    $t = array('.','');
    preg_match('/(.*)@/'$src$box);
    $arr str_split($box[1]);
    for (
    $i 0$i $max$i++) {
        
    $result '';
        foreach (
    $arr as $a) {
            
    $result .= $a $t[mt_rand(01)];
        }
        
    $all_emails[] = $result "@gmail.com";
    }
    array_unique($all_emails);
    $output fopen('emails.txt''w+');
    foreach (
    $all_emails as $email) {
        
    fwrite($output$email "\n");
    }
    fclose($output);
     
    savcorp нравится это.
  8. savcorp

    savcorp Новичок

    Сообщения:
    99
    Симпатии:
    34
    Баллы:
    19
    Огромное спасибо что старались, но затея то другая, выше уже есть готовый скрипт который сохраняет в файл. Мой же скрипт генерации xml файлов для хрума генерит проекты в зависимости от колличества ббкодов, к примеру 100 которые я потом отдаю хруму на расписание и иду гулять.

    Мне нужно решение не более 5 -6 строк.

    Код:
    $m_arr=explode("@",$meills);
    $meil = ($m_arr[0]);
    $meil = substr_replace($meil, "." ,rand(1,4), 0 );
    $meil = substr_replace($meil, "." ,rand(5,7), 0 );
    чтобы я вставил переменную как пример

    $template = str_replace('<EmailAddress></EmailAddress>','<EmailAddress>'.$meil.'@'.$m_arr[1].'</EmailAddress>',$template);

    и на этом пипец
    1 раз заюзал почту и забыл!!!!!

    Всё это передаю в файл обычными post запросами (кроме бб кодов)
     
  9. spartanets

    spartanets Новичок

    Сообщения:
    9
    Симпатии:
    3
    Баллы:
    8
    Сделать вывод в файл или переменную разницы особой нет. Просто не понятно, что тебе надо. Подобная работа со строками, это очень простое программирование, тебе бы много кто мог помочь, просто задача не понятна.

    Тебе надо, чтобы была функция, которая будет возвращать email с проставленными 2-мя точками в рандомных местах? Или нужен цикл, который будет составлять все варианты email-ов с точками?
     
  10. savcorp

    savcorp Новичок

    Сообщения:
    99
    Симпатии:
    34
    Баллы:
    19
    Именно.
    Спасибо мил человек, и вправду все мои страдания всегда были из за того что не могу правильно составить ТЗ, потому и начал учить что то сам, ибо сержусь что меня не понимают, а на самом деле сердится нужно на себя!!! :)
     
  11. coolfox

    coolfox Участник

    Сообщения:
    183
    Симпатии:
    44
    Баллы:
    30
    Попробую предполодить что нужно господину @savcorp , @qoqr заюзаю твой код, сорян :)

    PHP:
            function mailToXml($mail="[email protected]"$bbcount=100)
            {
                
    $all_emails = array();
                
    $t = array('.','');
                
    preg_match('/(.*)@/'$mail$box);
                
    $arr str_split($box[1]);
                for (
    $i 0$i $bbcount$i++) {
                   
    $result '';
                   foreach (
    $arr as $a) {
                       
    $result .= $a $t[mt_rand(01)];
                   }
                   
    $all_emails[] = $result "@gmail.com";
                }
                
    $mail array_unique($all_emails);
                return 
    $mail[mt_rand(0count($mail)-1)];
            }

    $newMail mailToXml("[email protected]"200);
    Оно ?
     
    savcorp нравится это.
  12. savcorp

    savcorp Новичок

    Сообщения:
    99
    Симпатии:
    34
    Баллы:
    19
    $template = str_replace('<EmailAddress></EmailAddress>','<EmailAddress>'.$meil.'@'.$m_arr[1].'</EmailAddress>',$template);


    Похоже буду пробовать из всего что тут нарисовано собрать сам.
    Спасибо что участвовали и помогали кусками и домыслами

    если я вставлю переменную $newMail в строку что находится выше то :bucktooth:

    Ну и я писал уже сержусь только на себя @ИЗВИНИТЕ@
    ------------------- Добавлено 19.06.16 -------------------
    Вот заплодил паралельно тему на ботмастере и получил именно то что нужно ucbit.net/threads/ramdomnaja-tochka-v-gmail-com.83/ не знаю как это, чел читает на ботмастере а отвечает типа у себя на форуме, но важен результат.

    Ещё раз всем СПАСИБО!
     
  13. Дядя Жора

    Дядя Жора Активный участник

    Сообщения:
    398
    Симпатии:
    167
    Баллы:
    71
  14. savcorp

    savcorp Новичок

    Сообщения:
    99
    Симпатии:
    34
    Баллы:
    19
    Вот так то оно почти всегда!
     

Поделиться этой страницей