HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 09.12.2007, 02:33
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
С нами: 10169427

Репутация: 589
По умолчанию

Не знаю, подойдет или нет, но попробуй глянуть на доки по Domit XML Parser, сама либа довольно большая и доки к ней тоже нехилых размеров, насыщены примерами.
http://sourceforge.net/projects/domit-xmlparser

Вот вроде бы неплохая статья: http://www.opennet.ru/base/dev/dom_xml_php.txt.html

Add: http://providerz.ru/articles/php/xml-sax-dom-intro.html

Последний раз редактировалось Helios; 09.12.2007 в 02:37..
 
Ответить с цитированием

  #2  
Старый 09.12.2007, 07:35
spamoney
Участник форума
Регистрация: 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..
 
Ответить с цитированием

  #3  
Старый 09.12.2007, 11:21
Macro
Постоянный
Регистрация: 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 процентов");

}
?>
 
Ответить с цитированием

  #4  
Старый 09.12.2007, 14:24
1NtR0
Участник форума
Регистрация: 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);
?>

Не работает...
 
Ответить с цитированием

  #5  
Старый 09.12.2007, 14:32
Macro
Постоянный
Регистрация: 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);
?>
Попробуй так
 
Ответить с цитированием

  #6  
Старый 09.12.2007, 14:54
1NtR0
Участник форума
Регистрация: 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
=\

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

  #7  
Старый 09.12.2007, 16:20
Macro
Постоянный
Регистрация: 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% будет пахать.
 
Ответить с цитированием

  #8  
Старый 09.12.2007, 16:22
Sn@k3
Познавший АНТИЧАТ
Регистрация: 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);
?>
 
Ответить с цитированием

  #9  
Старый 09.12.2007, 15:40
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
С нами: 10485026

Репутация: 1879


По умолчанию

Ничего. Проверить пару логин:логин к ftp, ssh, web-auth и т.д
 
Ответить с цитированием

  #10  
Старый 09.12.2007, 15:41
VampiRUS
Участник форума
Регистрация: 31.12.2005
Сообщений: 231
С нами: 10715512

Репутация: 366
Отправить сообщение для VampiRUS с помощью Yahoo
По умолчанию

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") заюзать а потом перевод строки дописывать.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.