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

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

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

 

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

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

тема: Помогите с preg_match_all
 
 автор: AlexDIXI   (12.07.2009 в 01:43)   письмо автору
 
 

Нужно дернуть с файла все таблицы по признакам:

начало: <table ID="AA_
данные которые нужны
конец: bottom"><!-- --></td><td>

мне нужен массив с данными всех таблиц с признаками которые я указал..

Заранее спасибо..

  Ответить  
 
 автор: ,,,,.   (12.07.2009 в 01:51)
 
   для: AlexDIXI   (12.07.2009 в 01:43)
 

'#<table ID="AA_.+?bottom"><!-- --></td><td>#s"

или пробовать вместо .+?
какие-нибудь (?:[^b]*(?!bottom"><!-- --></td><td>).)+
мож быстрее будет

  Ответить  
 
 автор: AlexDIXI   (12.07.2009 в 01:55)   письмо автору
 
   для: ,,,,.   (12.07.2009 в 01:51)
 

неа, пусто )) не дает результата (

  Ответить  
 
 автор: AlexDIXI   (12.07.2009 в 13:55)   письмо автору
 
   для: AlexDIXI   (12.07.2009 в 01:43)
 

Вот подробнее:

Есть файл в них таблицы вот такого вида:

<table ID="AA_25891723" width="299" cellpadding="0" cellspacing="0" border="0" style="position:absolute; display:none; z-index:100;" onmouseover="this.style.display='none';">
<tr><td width="22" height="25"><img src="images/int/stm1-tl.gif" width="22" height="25" alt="" border="0"><br></td><td style="background: url('images/int/stm1-t.gif') repeat-x top" class="tabcata" align="center"><!--  --><b style="color:#3300ff">123</b></td><td width="22"><img src="images/int/stm1-tr.gif" width="22" height="25" alt="" border="0"><br></td></tr>
<tr><td style="background: url('/images/int/stm1-l.gif') repeat-y top left"><!--  --></td><td style="background: url('/images/sand3.gif')"></td><td style="background: url('/images/int/stm1-r.gif') repeat-y top right"><!--  --></td></tr><tr><td height="5"><img src="/images/int/stm1-bl.gif" width="22" height="5" alt="" border="0"><br></td><td style="background: url('/images/int/stm1-b.gif') repeat-x bottom"><!--  --></td><td><img src="/images/int/stm1-br.gif" width="22" height="5" alt="" border="0"><br></td></tr>
</table>



мне нужно preg_match_all получить все таблицы такого вида..

Начало: <table ID="AA_
Конец: repeat-x bottom"><!-- --></td><td>


Помогите пожалуйста..

  Ответить  
 
 автор: Guitarist   (13.07.2009 в 05:38)   письмо автору
 
   для: AlexDIXI   (12.07.2009 в 13:55)
 

Привет!
'#<table\s*ID="AA_.*?repeat-x\s*bottom"><!--\s*--></td><td>#s'
вот тебе проверенная регулярка под твою задачу, с учётом любого количества пробелов и прочих радостей кривой верстки, при условии что у всех таблиц префикс "АА_" сохраняется (ты сам так написал). Если не сработает - это уже вопрос не регулярок, а работоспособности ядра (было у меня раз... регулярки не пахали вообще, так и не разобрался, решил проблему реинсталлом ядра =)))) ). Вобщем удачи тебе =)
з.ы. немного не понял зачем тебе последний тег "<td>" и почему бы всю таблицу не выбрать, ну да ладно =) у тебя свои задачи ;-)

  Ответить  
Rambler's Top100
вверх

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