Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как удалить строку из таблицы
 
 автор: SamProf   (18.10.2006 в 09:02)   письмо автору
 
 

суть в следующем. ессть примерно переменнаям таки срдержимым(в одну строку)


<table>
<tr>   blablabla   </tr>
<tr class=del>   blablabla    </td>
<tr>   blablabla   </tr>
<tr>   blablabla   </tr>
<tr>   blablabla   </tr>
</table>


т.Е. есть таблица, заданная html и требуется удалить средствами php (желательно с помошью ereg_replace) строку <tr class=del> blablabla </td>
Я пытался вот так:

$s=ereg_replace('<tr class=del>([[:print:]]+)</tr>','',$s);

Но вмечто того чтобы удалить все начиная с <tr class=del> по ближыйштй </tr> он удаляет по последний </tr>. Т.е. вместо того чтобы получить:


<table>
<tr>   blablabla   </tr>
<tr>   blablabla   </tr>
<tr>   blablabla   </tr>
<tr>   blablabla   </tr>
</table>


вместо этого я получаю:

<table>
<tr>   blablabla   </tr>
</table>


Как можно рушить эту проблему??? т.е. мне надо удалить всё начиная с <tr class=del> по ближайший </tr>
Спасибо!

   
 
 автор: kasmanaft   (18.10.2006 в 11:21)   письмо автору
 
   для: SamProf   (18.10.2006 в 09:02)
 

Вроде бы удаляет так, как нужно ...

Но если все же нет, можно использовать preg_replace с модификатором жадности

$s=preg_replace('|<tr class=del>.*?</tr>|','',$s);

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования