
09.12.2007, 02:33
|
|
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
С нами:
10169427
Репутация:
589
|
|
Последний раз редактировалось Helios; 09.12.2007 в 02:37..
|
|
|

09.12.2007, 07:35
|
|
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
С нами:
10196899
Репутация:
27
|
|
Всем привет, в общем такая проблемка: собираю базу цитат с различных сайтов с помощью граббера, некоторые повторяющиеся цитаты не заношу в БД так:
for($i=0;$i<100;$i++){
$querysovpad = "SELECT * FROM `table_quote` WHERE `text_body` like '%".$quote[1][$i]."%' LIMIT 0,30";
$mysql_querysovpad = mysql_query($querysovpad);
$sovpad = mysql_num_rows($mysql_querysovpad);
if ($sovpad == 0) {
$query = "INSERT INTO `table_quote` VALUES (NULL,'spamoney', '".$quote[1][$i]."\r\n', now())";
$mysql_query = mysql_query($query);
}
}
где ".$quote[1][$i]." какая либо цитата
Но есть цитаты которые практически одинаковые, только 2-3 слова в них разные и они естественно проходят проверку на наличие уже существующих цитат и заносятся в БД, как сделать так чтоб скрипт сравнивал цитату с цитатами в БД и если процент совпадения слов в них более чем 75% цитата не заносилась в БД??
Последний раз редактировалось spamoney; 09.12.2007 в 07:50..
|
|
|

09.12.2007, 11:21
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
С нами:
10261766
Репутация:
1079
|
|
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 процентов");
}
?>
|
|
|

09.12.2007, 14:24
|
|
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
С нами:
10039659
Репутация:
209
|
|
Здрасте.... Как организовать замену "/"."\n" на "\n" ?
Пишу так:
<?php
$file = file('file.txt');
$file = str_replace("/"."\n","\n", $file);
$f = fopen('file_good.txt','a+');
fwrite($f,$file);
?>
Не работает...
|
|
|

09.12.2007, 14:32
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
С нами:
10261766
Репутация:
1079
|
|
Сообщение от 1NtR0
Здрасте.... Как организовать замену "/"."\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);
?>
Попробуй так
|
|
|

09.12.2007, 14:54
|
|
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
С нами:
10039659
Репутация:
209
|
|
=/ не пашет, мб не так обьяснил ...
Есть файл 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
=\
Может кто не полениться сделать и сразу же проверить? Заранее спасибо ...
|
|
|

09.12.2007, 16:20
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
С нами:
10261766
Репутация:
1079
|
|
Сообщение от 1NtR0
=/ не пашет, мб не так обьяснил ...
Есть файл 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
=\
Может кто не полениться сделать и сразу же проверить? Заранее спасибо ...
PHP код:
<?
$file=preg_replace("/^(http:\/\/[^\/]+)\/$/i","$1",file_get_contents('zzz.txt'));
$fp=fopen('zzz_good.txt','a+');
fwrite($fp,$file);
fclose($fp);
?>
Не проверял но 99% будет пахать.
|
|
|

09.12.2007, 16:22
|
|
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
С нами:
10566621
Репутация:
1198
|
|
Сообщение от 1NtR0
=/ не пашет, мб не так обьяснил ...
Есть файл 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
=\
Может кто не полениться сделать и сразу же проверить? Заранее спасибо ...
вот сам принцип замены, переписать, опять же, нет времен... оч спешу:
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);
?>
|
|
|

09.12.2007, 15:40
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
С нами:
10485026
Репутация:
1879
|
|
Ничего. Проверить пару логин:логин к ftp, ssh, web-auth и т.д
|
|
|

09.12.2007, 15:41
|
|
Участник форума
Регистрация: 31.12.2005
Сообщений: 231
С нами:
10715512
Репутация:
366
|
|
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") заюзать а потом перевод строки дописывать.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|