[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. spamoney

    spamoney Elder - Старейшина

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Всем привет, в общем такая проблемка: собираю базу цитат с различных сайтов с помощью граббера, некоторые повторяющиеся цитаты не заношу в БД так:

    где ".$quote[1][$i]." какая либо цитата

    Но есть цитаты которые практически одинаковые, только 2-3 слова в них разные и они естественно проходят проверку на наличие уже существующих цитат и заносятся в БД, как сделать так чтоб скрипт сравнивал цитату с цитатами в БД и если процент совпадения слов в них более чем 75% цитата не заносилась в БД??
     
    #1141 spamoney, 9 Dec 2007
    Last edited: 9 Dec 2007
  2. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    PHP:
    <?
    $text='Приветствую, это первая цитата, которую мы сграбили';
    $text2='Приветствую, это вторая цитата, которую мы сграбили';
    $a=preg_match_all('/(\s?[^\s]+\s?)/',$text,$m);
    $a2=preg_match_all('/(\s?[^\s]+\s?)/',$text2,$m2);
    $match=0;
    for(
    $i=0;$i<count($m[1]);$i++)
    {
    for(
    $j=0;$j<count($m2[1]);$j++)
    {
    if(
    $m[1][$i]==$m2[1][$j]){$match++;}
    }
    }
    if(
    $match/$a*100<75)
    {
    echo(
    "Совпадений меньше 75 процентов");
    }
    else
    {

    echo(
    "Совпадений больше 75 процентов");

    }
    ?>
     
  3. 1NtR0

    1NtR0 Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    235
    Likes Received:
    89
    Reputations:
    35
    Здрасте.... Как организовать замену "/"."\n" на "\n" ?
    Пишу так:
    <?php
    $file = file('file.txt');
    $file = str_replace("/"."\n","\n", $file);
    $f = fopen('file_good.txt','a+');
    fwrite($f,$file);
    ?>

    Не работает...
     
  4. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    PHP:
    <?php
    $fp
    =fopen('file.txt','rb');
    $file fread($fp,filesize('file.txt'));
    fclose($fp);
    $file str_replace("/"."\n","\n"$file);
    $f fopen('file_good.txt','w');
    fwrite($f,$file);
    fclose($f);
    ?>
    Попробуй так
     
    1 person likes this.
  5. 1NtR0

    1NtR0 Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    235
    Likes Received:
    89
    Reputations:
    35
    =/ не пашет, мб не так обьяснил ...
    Есть файл zzz.txt, в нём ссылки:
    http://site.com
    http://site.org/

    Нужно чтобы "/" убралось ...
    Пишу вот так:
    PHP:
    <?php
    set_time_limit
    (0);
    $fp=fopen('zzz.txt','r');
    $file fread($fp,filesize('zzz.txt'));
    fclose($fp);
    $file str_replace("/"."\n","\n"$file);
    for(
    $i=0;$i<=10;$i++) {
    $f=fopen('zzz_good.txt','a+');
    fwrite($f,$file[$i]);
    fclose($f);
    }
    ?>
    В файл записывает только:
    http://site
    =\

    Может кто не полениться сделать и сразу же проверить? Заранее спасибо ...
     
  6. Ch3ck

    Ch3ck Elder - Старейшина

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    Ничего. Проверить пару логин:логин к ftp, ssh, web-auth и т.д
     
  7. VampiRUS

    VampiRUS Elder - Старейшина

    Joined:
    31 Dec 2005
    Messages:
    210
    Likes Received:
    105
    Reputations:
    57
    1NtR0 неполучается, потому что в винде неревод строки \r\n
    PHP:
    <?
    $f=file('test.txt');
    $fout=fopen('f_good.txt','w');
    foreach(
    $f as $line)fwrite($fout,str_replace("/\r\n","\n",$line));
    fclose($fout);
    ?>
    или можешь rtrim($line,"/\r\n") заюзать а потом перевод строки дописывать.
     
  8. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    подскажите как сделать чтобы при авторизации была проверка на ник, если ник в списке онлайн то нельзя? подскажите.
     
  9. Sn@k3

    Sn@k3 Elder - Старейшина

    Joined:
    13 Apr 2006
    Messages:
    1,000
    Likes Received:
    438
    Reputations:
    90
    вот выдрал кусок кода из старого своего чата. разруливать некогда.

    PHP:
    if($loginz) {
    $guru1=file_exists("db/onl.txt");
    if(
    $guru1 == '') { $guru2=fopen('db/onl.txt','w'); fwrite($guru2,"<meta (c)oded by Sn@К3 2007>\n"); fclose($guru2); } else { }
    $guru=fopen("db/onl.txt",'r+');
    if(
    $guru =='') { $notguru=fopen('db/onl.txt','w'); fwrite($notguru,"<meta (c)oded by Sn@k3 2007>\n"); fclose($notguru); } else {    }
    fclose($guru);
    $fokl="db/onl.txt";
    $golfopen ("$fokl","r");
    $gol1=fread($golfilesize  ($fokl));
    if (
    preg_match ("/$loginz/i""$gol1"))  
      {    

    print
    "<center><font color=red>Ник, который Вы ввели, уже находится в чате... <a href=chat.php>Перейти?</a></font>"; }  else {
     
  10. Sn@k3

    Sn@k3 Elder - Старейшина

    Joined:
    13 Apr 2006
    Messages:
    1,000
    Likes Received:
    438
    Reputations:
    90
    а вот чисто кусок, старый, откопал на компе в моем
    т.е. дописываешь кусок кода, типа в файле есть ИП всех кто прошел авторизацию, а этот что ниже выкидывает все ИП что на странице , если не лень разбирайся)
    PHP:
    <? 
    $timelim=1///лимит времени в секундах допустимого бездействия пользоваеля 
    session_id("hfJKcbJssJ"); 
    session_start(); 
    $f=1
    if(!isset(
    $_SESSION['kolvo']))  
        
    $_SESSION['kolvo']=0
    if(
    $_SESSION['kolvo']>0

      for(
    $i=0;$i<$_SESSION['kolvo'];$i++) 
        if(
    $_SESSION['users']['ip'][$i]==$_SERVER['REMOTE_ADDR']) 
           { 
             
    $_SESSION['users']['date'][$i]=date('U'); 
             
    $f=0
             break; 
           } 

    if(
    $_SESSION['kolvo']>0)       
    for(
    $i=0;$i<$_SESSION['kolvo'];$i++) 
       if(
    date('U')-$_SESSION['users']['date'][$i]>$timelim
       { for(
    $j=$i;$j<$_SESSION['kolvo']-1;$j++) 
            { 
             
    $_SESSION['users']['date'][$j]=$_SESSION['users']['date'][$j+1]; 
             
    $_SESSION['users']['ip'][$j]=$_SESSION['users']['ip'][$j+1]; 
            } 
         
    $_SESSION['kolvo']--; 
        } 

    if(
    $f

      
    $_SESSION['users']['ip'][$_SESSION['kolvo']]=$_SERVER['REMOTE_ADDR']; 
      
    $_SESSION['users']['date'][$_SESSION['kolvo']]=date('U'); 
      
    $_SESSION['kolvo']++; 

    print
    $_SERVER['REMOTE_ADDR']; 
    ?> 
     
  11. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    PHP:
    <?
    $file=preg_replace("/^(http:\/\/[^\/]+)\/$/i","$1",file_get_contents('zzz.txt'));
    $fp=fopen('zzz_good.txt','a+');
    fwrite($fp,$file);
    fclose($fp);
    ?>
    Не проверял но 99% будет пахать.
     
  12. Sn@k3

    Sn@k3 Elder - Старейшина

    Joined:
    13 Apr 2006
    Messages:
    1,000
    Likes Received:
    438
    Reputations:
    90


    вот сам принцип замены, переписать, опять же, нет времен... оч спешу:
    PHP:
    <?
    $line="http://site.com/";
    $replace="http://site.com";
    $file=file("file.txt");
    $open=fopen("file111.txt","w");
       for(
    $i=0;$i<count($file);$i++)
       {
          if((
    $i+1)!=$line){fwrite($open,$file[$i]);}
          else{
    fwrite($open,$replace."\r\n");}
       }
    fclose($open);
    ?> 
     
  13. VampiRUS

    VampiRUS Elder - Старейшина

    Joined:
    31 Dec 2005
    Messages:
    210
    Likes Received:
    105
    Reputations:
    57
    Sn@k3 помойму ты ересь какую-то написал), не в обиду.
     
    2 people like this.
  14. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Прочитал цитату, походу из строк http://site.org/ надо убрать последний / так?

    Вот пример
    PHP:
    <?php
    $str 
    ='http://site.org/';
    if(
    $str[strlen($str-1)] == '/'$str[strlen($str-1)] = ''#Если последний символ '/' убираем его... (если в строке идёт \r или \n или \r\n то -1 заменить)
    ?>
    Если не то, звеняюсь... ПРосто решил показать как лехче сделать можно
     
    1 person likes this.
  15. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    PHP:
    <? 
    $file=preg_replace("/(http:\/\/[^\/]+)\//i","$1",file_get_contents('zzz.txt')); 
    $fp=fopen('zzz_good.txt','a+'); 
    fwrite($fp,"\n".$file); 
    fclose($fp); 
    ?>
    Проверил, 1000000% работает
     
    2 people like this.
  16. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    народ у меня вопрос, мне нужно чтобы кнопки стояли одна за другой, если делаю через пустые формы с кнопками, то кнопки получаются одна под другой, если засовываю форму кнопки в теги гипер ссылки=))) то неработает вообще, если привязываю много кнопок к одной форме то загоняет все=) как быть? нужны именно кнопки=(
     
  17. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    XopoIII, Ваш вопрос не относится к тематике PHP. Для этого есть соответствующие разделы (посвященные HTML). Плиз, донт флуд, аэнд гоу ту ХТМЛ сектион...
     
    1 person likes this.
  18. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Да, эт тебе надо было запостить в раздел html.
    Не совсем понял что ты хочешь.....но в любом случае пользуйся таблицами...а там уж распределяй сам что в какую ячейку засунуть.
     
    1 person likes this.
  19. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    ппц... Покеж код.. Чет я не понял...
    Я когда делаю <input type=button><input type=button><input type=button> Они и так одна за другой =\
    Почему?
    PHP:
    <?php
     
    echo "<input type=button><input type=button><input type=button>";
    ?>
     
    1 person likes this.
  20. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    2 бул:
    PHP:
    echo "<form action=left.php method=post>";
    echo 
    "<input type=\"submit\" name=\"exit\" value=\"Выход\">";
    echo 
    "</form>";
    echo 
    "<form action=left.php method=post>";
    echo 
    "<input type=\"submit\" name=\"exit\" value=\"Выход\">";
    echo 
    "</form>";
    echo 
    "<form action=left.php method=post>";
    echo 
    "<input type=\"submit\" name=\"exit\" value=\"Выход\">";
    echo 
    "</form>";
    вот попробуй они получаются друг под другом. Если я делаю все кнопки от 1 формы, то ссылки от нее битые получаются =)
     
    1 person likes this.
Thread Status:
Not open for further replies.