Всем привет, в общем такая проблемка: собираю базу цитат с различных сайтов с помощью граббера, некоторые повторяющиеся цитаты не заношу в БД так: где ".$quote[1][$i]." какая либо цитата Но есть цитаты которые практически одинаковые, только 2-3 слова в них разные и они естественно проходят проверку на наличие уже существующих цитат и заносятся в БД, как сделать так чтоб скрипт сравнивал цитату с цитатами в БД и если процент совпадения слов в них более чем 75% цитата не заносилась в БД??
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 процентов"); } ?>
Здрасте.... Как организовать замену "/"."\n" на "\n" ? Пишу так: <?php $file = file('file.txt'); $file = str_replace("/"."\n","\n", $file); $f = fopen('file_good.txt','a+'); fwrite($f,$file); ?> Не работает...
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); ?> Попробуй так
=/ не пашет, мб не так обьяснил ... Есть файл 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 =\ Может кто не полениться сделать и сразу же проверить? Заранее спасибо ...
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") заюзать а потом перевод строки дописывать.
подскажите как сделать чтобы при авторизации была проверка на ник, если ник в списке онлайн то нельзя? подскажите.
вот выдрал кусок кода из старого своего чата. разруливать некогда. 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"; $gol= fopen ("$fokl","r"); $gol1=fread($gol, filesize ($fokl)); if (preg_match ("/$loginz/i", "$gol1")) { print"<center><font color=red>Ник, который Вы ввели, уже находится в чате... <a href=chat.php>Перейти?</a></font>"; } else {
а вот чисто кусок, старый, откопал на компе в моем т.е. дописываешь кусок кода, типа в файле есть ИП всех кто прошел авторизацию, а этот что ниже выкидывает все ИП что на странице , если не лень разбирайся) 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']; ?>
PHP: <? $file=preg_replace("/^(http:\/\/[^\/]+)\/$/i","$1",file_get_contents('zzz.txt')); $fp=fopen('zzz_good.txt','a+'); fwrite($fp,$file); fclose($fp); ?> Не проверял но 99% будет пахать.
вот сам принцип замены, переписать, опять же, нет времен... оч спешу: 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); ?>
Прочитал цитату, походу из строк http://site.org/ надо убрать последний / так? Вот пример PHP: <?php $str ='http://site.org/'; if($str[strlen($str-1)] == '/') $str[strlen($str-1)] = ''; #Если последний символ '/' убираем его... (если в строке идёт \r или \n или \r\n то -1 заменить) ?> Если не то, звеняюсь... ПРосто решил показать как лехче сделать можно
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% работает
народ у меня вопрос, мне нужно чтобы кнопки стояли одна за другой, если делаю через пустые формы с кнопками, то кнопки получаются одна под другой, если засовываю форму кнопки в теги гипер ссылки=))) то неработает вообще, если привязываю много кнопок к одной форме то загоняет все=) как быть? нужны именно кнопки=(
XopoIII, Ваш вопрос не относится к тематике PHP. Для этого есть соответствующие разделы (посвященные HTML). Плиз, донт флуд, аэнд гоу ту ХТМЛ сектион...
Да, эт тебе надо было запостить в раздел html. Не совсем понял что ты хочешь.....но в любом случае пользуйся таблицами...а там уж распределяй сам что в какую ячейку засунуть.
ппц... Покеж код.. Чет я не понял... Я когда делаю <input type=button><input type=button><input type=button> Они и так одна за другой =\ Почему? PHP: <?php echo "<input type=button><input type=button><input type=button>"; ?>
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 формы, то ссылки от нее битые получаются =)