ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[php] мегапроблема
  #1  
Старый 19.12.2009, 23:20
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию [php] мегапроблема

есть мега проблема

допустим в файле задан небольшой текст

%CC-3358 (т.е. это первые %CC буква М русская, не спроста читаем далее)

суть в чём

в другом файле(который выводим на экран) есть куча разного текста и при нахождение этго надо будет удалить целый кусок кода типа:

Код:
..............
лаблбалабалбалабала длинноееее
<tr><td bgcolor="#eeeeee"><a href="/ind.php?content=article&amp;article=%CC-3358&amp;group1=%C0%E4%E3%E5%E7%E8%E2%FB+%E8+%F1%F0%E5%E4%F1%F2%E2%E0+%EA%F0%E5%EF%EB%E5%ED%E8%FF&amp;group2=%C8%ED%F1%F2%F0%F3%EC%E5%ED%F2%FB&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dfull.gif" alt="Для этого товара есть полное описание" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#eeeeee">М-3358</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="name" bgcolor="#eeeeee">Пистолет STAYER термоклеящий электрич. 10Вт/220В,7мм.</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td bgcolor = "#eeeeee" class="unit">шт</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="price" bgcolor="#eeeeee">УТ.&nbsp;</td><td align="right" bgcolor="#eeeeee">&nbsp;<input type="hidden" name="v[0][id]" value="М-3358" /></td><td align="right" bgcolor="#eeeeee"></td></tr>
блаблбалабалбалабала длинноееее
...............
вот кусок выше без пробелов от буллитина http://slil.ru/28371079/156b675f.4b2dce90/xxxx.txt

т.е. надо найти первое вхождение строки %CC-3358, потом минус длинну текста от <tr> и найти ближайший </tr> и как-то удалить 0_о

т.е. подитожим, найти заданное слово, сместиться назад до <tr> потом найти ближайший </tr> и от <tr>...до...</tr> удалить это 0_о

Последний раз редактировалось rubik-nerubik; 19.12.2009 в 23:24..
 
Ответить с цитированием

  #2  
Старый 19.12.2009, 23:27
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

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

Можешь регулярками выдрать все <tr>(.*)</tr>, а потом проверять в них на наличие %CC-3358, если есть - str_replace("Этот кусок с %CC-3358", "", $content);
 
Ответить с цитированием

  #3  
Старый 19.12.2009, 23:47
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

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

=\ не пойму как загнать это в прег матч алл <tr>(.*)</tr> ругается

Код:
<?
error_reporting();
$t='1<tr><td bgcolor="#eeeeee"><a href="/ind.php?content=article&amp;article=%CC-3358&amp;group1=%C0%E4%E3%E5%E7%E8%E2%FB+%E8+%F1%F0%E5%E4%F1%F2%E2%E0+%EA%F0%E5%EF%EB%E5%ED%E8%FF&amp;group2=%C8%ED%F1%F2%F0%F3%EC%E5%ED%F2%FB&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dfull.gif" alt="Для этого товара есть полное описание" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#eeeeee">М-3358</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="name" bgcolor="#eeeeee">Пистолет STAYER термоклеящий электрич. 10Вт/220В,7мм.</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td bgcolor = "#eeeeee" class="unit">шт</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="price" bgcolor="#eeeeee">УТ.&nbsp;</td><td align="right" bgcolor="#eeeeee">&nbsp;<input type="hidden" name="v[0][id]" value="М-3358" /></td><td align="right" bgcolor="#eeeeee"></td></tr>
блаблбалабалбалабала длинноееее
...............';
$t1='%CC-3358';


preg_match_all('<'.'tr'.'>'.(.*).'<'.'/'.'tr'.'>',$t,$xz);

$s=strpos($xz[1][0],$t1);

if(is_string($s)) {   str_replace($xz[1][0],'',$t); $s='';   }



echo$t;


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

  #4  
Старый 20.12.2009, 00:02
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

rubik-nerubik В топике не хватает восклицательных знаков, ололо и адын адын
PHP код:
<?
$in 
'текст входной';
$noword preg_quote('%CC-3358','~');
echo 
preg_replace('~(<tr>(?(?!<tr>).)*?'.$noword.'.*?</tr>)~msi','',$in);
?>
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #5  
Старый 20.12.2009, 00:25
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

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

воу супер, помогите собрать для кучи таких %CC-3358

я имею ввиду искать не тока одну %CC-3358
а допустим в первом файле ещё пару строчек с разными %CC-3358

ну типа:

%CC-3358
%CC-3312
%CC-432
%C1-3358

т.е. для всех них удалить такие же строки
 
Ответить с цитированием

  #6  
Старый 20.12.2009, 01:24
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

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

PHP код:
<?
$in 
'текст входной';
$noword preg_quote("%CC-\d+",'~');
echo 
preg_replace('~(<tr>(?(?!<tr>).)*?'.$noword.'.*?</tr>)~msi','',$in);
?>
Возможно так.
 
Ответить с цитированием

  #7  
Старый 20.12.2009, 13:41
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

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

нееет ты суть не понял!!!! не обязательно) %CC-3358))))

хоть
%1212-121212
%1-12233213


т.е.. в файле есть несколько разных строк, не связанных ничем, просто вот такие строки надо поискать методом #4
 
Ответить с цитированием

  #8  
Старый 20.12.2009, 14:52
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Deathdreams Посмотрите на досуге что делает функция preg_quote

rubik-nerubik Помните мультик, где были двое из ларца, одинаковых с лица? "Вы что, за меня и есть будете? - Агаааа"
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #9  
Старый 22.12.2009, 00:48
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

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

Код:
<meta Content-type: text/plain; charset=windows-1251>
<?
error_reporting(0);
$file=file("my_file.txt");
$count +=count($file); //кол-во строк

for($i=0;$i<$count;$i++) {
$fileg.=$file[$i]; //сам файлик внутри переменной




$in='

<head>

</head>

<table class="catalog" align="center" border="0" bordercolor="#000000" cellpadding="0" cellspacing="0" width="560">
<tr><td align="left" colspan="10"> <br></td></tr><tr><td bgcolor="#eeeeee"><a href="/ind.php?content=article&amp;article=%C8%D1-0229.9617&amp;group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&amp;group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dfull.gif" alt="Для этого товара есть полное описание" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#eeeeee">ИС-0229.9617</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="name" bgcolor="#eeeeee">Багет деревянный</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td bgcolor = "#eeeeee" class="unit">п/м</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="price" bgcolor="#eeeeee">УТ.&nbsp;</td><td align="right" bgcolor="#eeeeee">&nbsp;<input type="hidden" name="v[0][id]" value="ИС-0229.9617" /></td><td align="right" bgcolor="#eeeeee"></td></tr>
<tr><td bgcolor="#ffffff"><a href="/ind.php?content=article&amp;article=%C8%D1-0258.2079&amp;group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&amp;group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dno.gif" alt="" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#ffffff">ИС-0258.2079</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td class="name" bgcolor="#ffffff">Багет деревянный</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td bgcolor = "#ffffff" class="unit">п/м</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td class="price" bgcolor="#ffffff">УТ.&nbsp;</td><td align="right" bgcolor="#ffffff">&nbsp;<input type="hidden" name="v[1][id]" value="ИС-0258.2079" /></td><td align="right" bgcolor="#ffffff"></td></tr>
<tr><td bgcolor="#eeeeee"><a href="/ind.php?content=article&amp;article=%C8%D1-0258.9469&amp;group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&amp;group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dno.gif" alt="" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#eeeeee">ИС-0258.9469</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="name" bgcolor="#eeeeee">Багет деревянный</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td bgcolor = "#eeeeee" class="unit">п/м</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="price" bgcolor="#eeeeee">УТ.&nbsp;</td><td align="right" bgcolor="#eeeeee">&nbsp;<input type="hidden" name="v[2][id]" value="ИС-0258.9469" /></td><td align="right" bgcolor="#eeeeee"></td></tr>
<tr><td bgcolor="#ffffff"><a href="/ind.php?content=article&amp;article=%C8%D1-0346.8395&amp;group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&amp;group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dno.gif" alt="" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#ffffff">ИС-0346.8395</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td class="name" bgcolor="#ffffff">Багет деревянный</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td bgcolor = "#ffffff" class="unit">п/м</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td class="price" bgcolor="#ffffff">УТ.&nbsp;</td><td align="right" bgcolor="#ffffff">&nbsp;<input type="hidden" name="v[3][id]" value="ИС-0346.8395" /></td><td align="right" bgcolor="#ffffff"></td></tr>
<tr><td bgcolor="#eeeeee"><a href="/ind.php?content=article&amp;article=%C8%D1-0346.8405&amp;group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&amp;group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dno.gif" alt="" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#eeeeee">ИС-0346.8405</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="name" bgcolor="#eeeeee">Багет деревянный</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td bgcolor = "#eeeeee" class="unit">п/м</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="price" bgcolor="#eeeeee">УТ.&nbsp;</td><td align="right" bgcolor="#eeeeee">&nbsp;<input type="hidden" name="v[4][id]" value="ИС-0346.8405" /></td><td align="right" bgcolor="#eeeeee"></td></tr>
<tr><td bgcolor="#ffffff"><a href="/ind.php?content=article&amp;article=%C8%D1-0923.8585&amp;group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&amp;group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dno.gif" alt="" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#ffffff">ИС-0923.8585</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td class="name" bgcolor="#ffffff">Багет деревянный</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td bgcolor = "#ffffff" class="unit">п/м</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td class="price" bgcolor="#ffffff">УТ.&nbsp;</td><td align="right" bgcolor="#ffffff">&nbsp;<input type="hidden" name="v[5][id]" value="ИС-0923.8585" /></td><td align="right" bgcolor="#ffffff"></td></tr>
<tr><td bgcolor="#eeeeee"><a href="/ind.php?content=article&amp;article=%C8%D1-1090.8505&amp;group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&amp;group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dno.gif" alt="" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#eeeeee">ИС-1090.8505</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="name" bgcolor="#eeeeee">Багет деревянный</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td bgcolor = "#eeeeee" class="unit">п/м</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="price" bgcolor="#eeeeee">УТ.&nbsp;</td><td align="right" bgcolor="#eeeeee">&nbsp;<input type="hidden" name="v[6][id]" value="ИС-1090.8505" /></td><td align="right" bgcolor="#eeeeee"></td></tr>
<tr><td bgcolor="#ffffff"><a href="/ind.php?content=article&amp;article=%C8%D1-1090.8806&amp;group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&amp;group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dno.gif" alt="" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#ffffff">ИС-1090.8806</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td class="name" bgcolor="#ffffff">Багет деревянный</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td bgcolor = "#ffffff" class="unit">п/м</td><td class="margin"  bgcolor="#ffffff">&nbsp;&nbsp;</td><td class="price" bgcolor="#ffffff">УТ.&nbsp;</td><td align="right" bgcolor="#ffffff">&nbsp;<input type="hidden" name="v[7][id]" value="ИС-1090.8806" /></td><td align="right" bgcolor="#ffffff"></td></tr>
<tr><td bgcolor="#eeeeee"><a href="/ind.php?content=article&amp;article=%C8%D1-1096.8655&amp;group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&amp;group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&amp;group3=%D0%E0%E7%ED%EE%E5"><img src="images/dno.gif" alt="" width="15" height="15" hspace="2" vspace="0" border="0" /></a></td><td class="articul" bgcolor="#eeeeee">ИС-1096.8655</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="name" bgcolor="#eeeeee">Багет деревянный</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td bgcolor = "#eeeeee" class="unit">п/м</td><td class="margin"  bgcolor="#eeeeee">&nbsp;&nbsp;</td><td class="price" bgcolor="#eeeeee">УТ.&nbsp;</td><td align="right" bgcolor="#eeeeee">&nbsp;<input type="hidden" name="v[8][id]" value="ИС-1096.8655" /></td><td align="right" bgcolor="#eeeeee"></td></tr>
<tr><td align="center" colspan="10"></td></tr>
</table>
</form>

';
$file[$i]=trim($file[$i]);


$noword = preg_quote($file[$i],'~'); 
$t.=preg_replace('~(<tr>(?(?!<tr>).)*?'.$noword.'.*?</tr>)~msi','',$in); 



}


echo$t;


?>
набросал код, так вот проблема
допустим в файле две строки:
ИС-0229.9617
ИС-0258.2079


и мне надо по вышестоящему запросу тупо удалить эти две строки со всем вместе текстом т.е. от <tr> До </tr>
так вот он удаяет) но потом выводит весь заданный текст $in два раза(т.е. сколько заданных слов для удаления) а мне надо чтобы один) и в этом одном удалил все заданные строки.
 
Ответить с цитированием

  #10  
Старый 23.12.2009, 14:34
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

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

ну так что
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[PHP] Скрипт проверки PageRank, Тиц, Alexa Rank, Каталог Yandex, DMOZ ZEXEL PHP, PERL, MySQL, JavaScript 5 21.04.2010 15:28
SQL-Inj Finder by mr.The [Special for antichat] [PHP] mr.The PHP, PERL, MySQL, JavaScript 24 07.08.2009 01:30
[PHP] Грабер прокси geforse PHP, PERL, MySQL, JavaScript 13 08.06.2009 14:08
[php] RevIP + PR, ТИц check eLWAux PHP, PERL, MySQL, JavaScript 9 02.06.2009 20:37
Обход "фильтров" в icq [php] rcc0023 PHP, PERL, MySQL, JavaScript 5 24.05.2009 13:40



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


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




ANTICHAT.XYZ