Регулярное выражение для вложеных текстов

Rendom

Guest
Регулярное выражение для вложеных текстов

Кто сможет составить выражение для такого случая:
Код:
<table border=0>
<tr>
   <td>blablablabla<table border=0><tr><td>blablabla_UNIQTEXT_blablabla</td></tr></table></td>
   <td><table border=1><tr><td>blablabla</td></tr></table>666666</td>
</tr
</table>
Нужно удалить из этого всего кусок "<table border=0><tr><td>blablabla_UNIQTEXT_blablabla</td></tr></table>". Иными словами нужно вырезать текст от "<table" до "</table>" внутри которого есть строка "UNIQTEXT", но при этом не удалить лишнего. В результате должно получиться:
Код:
<table border=0>
<tr>
   <td>blablablabla</td>
   <td><table border=1><tr><td>blablabla</td></tr></table>666666</td>
</tr
</table>
 

bgm

&nbsp;
Регулярное выражение для вложенных конструкций не составляется.
Учи матчасть.
 

Rendom

Guest
Re: Регулярное выражение для вложеных текстов

Автор оригинала: Demiurg
контент воруем?
Не воруем, все с согласием автора.

Автор оригинала: bgm
Регулярное выражение для вложенных конструкций не составляется.
Учи матчасть.
Хм... И даже для такого случая нельзя составить:
'<table.*(<table).*</table>' но только чтобы проверялось не наличие (<table), а ее отсутствие?
 

StUV

Rotaredom
если необходимо удалить из начального текста конструкции
вида <table ...> ... UNIQTEXT ... </table> (т.е. между ">" и UNIQTEXT нет больше тегов <table >), то вполне можно ограничиться функциями типа [m]strpos[/m], [m]strrpos[/m] и [m]substr[/m]
 

bgm

&nbsp;
На самом деле всё зависит от того, что скрывается под таинственным "blablablabla" и "blablabla_UNIQTEXT_blablabla".
Но, повторюсь, регулярные выражения не могут быть использованы для описания вложенных конструкций.
 

Rendom

Guest
Автор оригинала: StUV
вполне можно ограничиться функциями типа [m]strpos[/m], [m]strrpos[/m] и [m]substr[/m]
О, это ведь хорошая идея... надо будет по скорости сравнить еще такой способ, спасибо за совет!

Автор оригинала: Serguitar
Я могу! Сколько заплатишь?
Нисколько, у меня уже есть решение моего вопроса, просто мне интересно найти универсальное.... Интереса ради.

Автор оригинала: bgm
На самом деле всё зависит от того, что скрывается под таинственным "blablablabla" и "blablabla_UNIQTEXT_blablabla".
Но, повторюсь, регулярные выражения не могут быть использованы для описания вложенных конструкций.
Да они не таинственные, обычный HTML-код произвольный, вот он, немного видоизмененный:
Код:
<table width=100% border=0 cellspacing=0 cellpadding=0 bgcolor=white>
<tr>
<td valign=top width=100%><a href=/><img src="/images/_odp.jpg" width=300 height=70 border=0></a>
<img src=/images/trans.gif width=1 height=20 alt=""></td>

<td>
<table border=0 cellspacing=0 cellpadding=0>
<tr><td><!--counter--><img src="/c/c.asp?pg=r.asp&rf=&rn=1259" width=1 height=1><!--counter--></td></tr>
<tr><td><!--LiveInternet counter--><script language="JavaScript"><!--
document.write('<img src="http://counter.yadro.ru/hit?r'+
escape(document.referrer)+((typeof(screen)=='undefined')?'':
';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+';'+Math.random()+
'" width=1 height=1 alt="">')//--></script><!--/LiveInternet--></td></tr>
<tr><td><[email protected] COUNTER--><img height=1 width=1 src="http://top.list.ru/counter?id="/><!--/COUNTER--></td></tr>
</table>
</td>
<td valign=middle>
<table border=0 cellspacing=0 cellpadding=0><tr>

<td>&nbsp;&nbsp;</td><td><a href="/cl.asp?/log.asp?gr=96" target="_top"><img src="/banners/b16_2.gif" width="120" height="60" border="0"></a></td>

<td>&nbsp;&nbsp;</td><td><a href="/cl.asp?/cat.asp?group=84" target="_top"><img src="/banners/b16_3.gif" width="120" height="60" border="0"></a></td>

<td>&nbsp;&nbsp;</td><td><a href="/cl.asp?/art.asp?id=8" target="_top"><img src="/banners/b16_5.gif" width="120" height="60" border="0"></a></td>

</tr></table>
</td>

</tr>
</table>
 

bgm

&nbsp;
Тогда тебе, на мой взгляд, точно надо использовать strpos, strrpos и substr - проще и быстрее. Тем более универсальности всё равно не достигнешь (из-за вложенности).
 
Сверху