Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

19.12.2009, 23:20
|
|
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме: 409147
Репутация:
33
|
|
[php] мегапроблема
есть мега проблема
допустим в файле задан небольшой текст
%CC-3358 (т.е. это первые %CC буква М русская, не спроста читаем далее)
суть в чём
в другом файле(который выводим на экран) есть куча разного текста и при нахождение этго надо будет удалить целый кусок кода типа:
Код:
..............
лаблбалабалбалабала длинноееее
<tr><td bgcolor="#eeeeee"><a href="/ind.php?content=article&article=%CC-3358&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&group2=%C8%ED%F1%F2%F0%F3%EC%E5%ED%F2%FB&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"> </td><td class="name" bgcolor="#eeeeee">Пистолет STAYER термоклеящий электрич. 10Вт/220В,7мм.</td><td class="margin" bgcolor="#eeeeee"> </td><td bgcolor = "#eeeeee" class="unit">шт</td><td class="margin" bgcolor="#eeeeee"> </td><td class="price" bgcolor="#eeeeee">УТ. </td><td align="right" bgcolor="#eeeeee"> <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..
|
|
|

19.12.2009, 23:27
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
Можешь регулярками выдрать все <tr>(.*)</tr>, а потом проверять в них на наличие %CC-3358, если есть - str_replace("Этот кусок с %CC-3358", "", $content);
|
|
|

19.12.2009, 23:47
|
|
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме: 409147
Репутация:
33
|
|
=\ не пойму как загнать это в прег матч алл <tr>(.*)</tr> ругается
Код:
<?
error_reporting();
$t='1<tr><td bgcolor="#eeeeee"><a href="/ind.php?content=article&article=%CC-3358&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&group2=%C8%ED%F1%F2%F0%F3%EC%E5%ED%F2%FB&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"> </td><td class="name" bgcolor="#eeeeee">Пистолет STAYER термоклеящий электрич. 10Вт/220В,7мм.</td><td class="margin" bgcolor="#eeeeee"> </td><td bgcolor = "#eeeeee" class="unit">шт</td><td class="margin" bgcolor="#eeeeee"> </td><td class="price" bgcolor="#eeeeee">УТ. </td><td align="right" bgcolor="#eeeeee"> <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;
?>
|
|
|

20.12.2009, 00:02
|
|
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
|
|
|

20.12.2009, 00:25
|
|
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме: 409147
Репутация:
33
|
|
воу супер, помогите собрать для кучи таких %CC-3358
я имею ввиду искать не тока одну %CC-3358
а допустим в первом файле ещё пару строчек с разными %CC-3358
ну типа:
%CC-3358
%CC-3312
%CC-432
%C1-3358
т.е. для всех них удалить такие же строки
|
|
|

20.12.2009, 01:24
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
PHP код:
<?
$in = 'текст входной';
$noword = preg_quote("%CC-\d+",'~');
echo preg_replace('~(<tr>(?(?!<tr>).)*?'.$noword.'.*?</tr>)~msi','',$in);
?>
Возможно так.
|
|
|

20.12.2009, 13:41
|
|
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме: 409147
Репутация:
33
|
|
нееет ты суть не понял!!!! не обязательно) %CC-3358))))
хоть
%1212-121212
%1-12233213
т.е.. в файле есть несколько разных строк, не связанных ничем, просто вот такие строки надо поискать методом #4
|
|
|

20.12.2009, 14:52
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Deathdreams Посмотрите на досуге что делает функция preg_quote
rubik-nerubik Помните мультик, где были двое из ларца, одинаковых с лица? "Вы что, за меня и есть будете? - Агаааа"
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

22.12.2009, 00:48
|
|
Участник форума
Регистрация: 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&article=%C8%D1-0229.9617&group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&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"> </td><td class="name" bgcolor="#eeeeee">Багет деревянный</td><td class="margin" bgcolor="#eeeeee"> </td><td bgcolor = "#eeeeee" class="unit">п/м</td><td class="margin" bgcolor="#eeeeee"> </td><td class="price" bgcolor="#eeeeee">УТ. </td><td align="right" bgcolor="#eeeeee"> <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&article=%C8%D1-0258.2079&group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&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"> </td><td class="name" bgcolor="#ffffff">Багет деревянный</td><td class="margin" bgcolor="#ffffff"> </td><td bgcolor = "#ffffff" class="unit">п/м</td><td class="margin" bgcolor="#ffffff"> </td><td class="price" bgcolor="#ffffff">УТ. </td><td align="right" bgcolor="#ffffff"> <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&article=%C8%D1-0258.9469&group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&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"> </td><td class="name" bgcolor="#eeeeee">Багет деревянный</td><td class="margin" bgcolor="#eeeeee"> </td><td bgcolor = "#eeeeee" class="unit">п/м</td><td class="margin" bgcolor="#eeeeee"> </td><td class="price" bgcolor="#eeeeee">УТ. </td><td align="right" bgcolor="#eeeeee"> <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&article=%C8%D1-0346.8395&group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&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"> </td><td class="name" bgcolor="#ffffff">Багет деревянный</td><td class="margin" bgcolor="#ffffff"> </td><td bgcolor = "#ffffff" class="unit">п/м</td><td class="margin" bgcolor="#ffffff"> </td><td class="price" bgcolor="#ffffff">УТ. </td><td align="right" bgcolor="#ffffff"> <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&article=%C8%D1-0346.8405&group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&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"> </td><td class="name" bgcolor="#eeeeee">Багет деревянный</td><td class="margin" bgcolor="#eeeeee"> </td><td bgcolor = "#eeeeee" class="unit">п/м</td><td class="margin" bgcolor="#eeeeee"> </td><td class="price" bgcolor="#eeeeee">УТ. </td><td align="right" bgcolor="#eeeeee"> <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&article=%C8%D1-0923.8585&group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&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"> </td><td class="name" bgcolor="#ffffff">Багет деревянный</td><td class="margin" bgcolor="#ffffff"> </td><td bgcolor = "#ffffff" class="unit">п/м</td><td class="margin" bgcolor="#ffffff"> </td><td class="price" bgcolor="#ffffff">УТ. </td><td align="right" bgcolor="#ffffff"> <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&article=%C8%D1-1090.8505&group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&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"> </td><td class="name" bgcolor="#eeeeee">Багет деревянный</td><td class="margin" bgcolor="#eeeeee"> </td><td bgcolor = "#eeeeee" class="unit">п/м</td><td class="margin" bgcolor="#eeeeee"> </td><td class="price" bgcolor="#eeeeee">УТ. </td><td align="right" bgcolor="#eeeeee"> <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&article=%C8%D1-1090.8806&group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&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"> </td><td class="name" bgcolor="#ffffff">Багет деревянный</td><td class="margin" bgcolor="#ffffff"> </td><td bgcolor = "#ffffff" class="unit">п/м</td><td class="margin" bgcolor="#ffffff"> </td><td class="price" bgcolor="#ffffff">УТ. </td><td align="right" bgcolor="#ffffff"> <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&article=%C8%D1-1096.8655&group1=%C1%E0%E3%E5%F2%ED%E0%FF+%EC%E0%F1%F2%E5%F0%F1%EA%E0%FF&group2=%C8%F1%EF%E0%ED%E8%FF+%28%E4%E5%F0%E5%E2%EE%29&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"> </td><td class="name" bgcolor="#eeeeee">Багет деревянный</td><td class="margin" bgcolor="#eeeeee"> </td><td bgcolor = "#eeeeee" class="unit">п/м</td><td class="margin" bgcolor="#eeeeee"> </td><td class="price" bgcolor="#eeeeee">УТ. </td><td align="right" bgcolor="#eeeeee"> <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 два раза(т.е. сколько заданных слов для удаления) а мне надо чтобы один) и в этом одном удалил все заданные строки.
|
|
|

23.12.2009, 14:34
|
|
Участник форума
Регистрация: 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)
|
|
|
|