есть мега проблема допустим в файле задан небольшой текст %CC-3358 (т.е. это первые %CC буква М русская, не спроста читаем далее) суть в чём в другом файле(который выводим на экран) есть куча разного текста и при нахождение этго надо будет удалить целый кусок кода типа: Code: .............. лаблбалабалбалабала длинноееее <tr><td bgcolor="#eeeeee"><a href="/ind.php?content=article&article=[B][COLOR=Red]%CC-3358[/COLOR][/B]&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_о
Можешь регулярками выдрать все <tr>(.*)</tr>, а потом проверять в них на наличие %CC-3358, если есть - str_replace("Этот кусок с %CC-3358", "", $content);
=\ не пойму как загнать это в прег матч алл <tr>(.*)</tr> ругается Code: <? 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; ?>
rubik-nerubik В топике не хватает восклицательных знаков, ололо и адын адын PHP: <? $in = 'текст входной'; $noword = preg_quote('%CC-3358','~'); echo preg_replace('~(<tr>(?(?!<tr>).)*?'.$noword.'.*?</tr>)~msi','',$in); ?>
воу супер, помогите собрать для кучи таких %CC-3358 я имею ввиду искать не тока одну %CC-3358 а допустим в первом файле ещё пару строчек с разными %CC-3358 ну типа: %CC-3358 %CC-3312 %CC-432 %C1-3358 т.е. для всех них удалить такие же строки
PHP: <? $in = 'текст входной'; $noword = preg_quote("%CC-\d+",'~'); echo preg_replace('~(<tr>(?(?!<tr>).)*?'.$noword.'.*?</tr>)~msi','',$in); ?> Возможно так.
нееет ты суть не понял!!!! не обязательно) %CC-3358)))) хоть %1212-121212 %1-12233213 т.е.. в файле есть несколько разных строк, не связанных ничем, просто вот такие строки надо поискать методом #4
Deathdreams Посмотрите на досуге что делает функция preg_quote rubik-nerubik Помните мультик, где были двое из ларца, одинаковых с лица? "Вы что, за меня и есть будете? - Агаааа"
Code: <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 два раза(т.е. сколько заданных слов для удаления) а мне надо чтобы один) и в этом одном удалил все заданные строки.
Мега супер гипер важная охуительно срочная трансгалактическая проблема, я делать сам нихера не хочу и сделайте ка вы всё за меня.
Кривому вопросу кривая регулярка PHP: preg_replace("#<tr>(.+)([a-z0-9а-я])-\d(.+)</tr>#i","_ЗАМЕНИЛИ_",$in);