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

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

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

 

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

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

тема: Жадность
 
 автор: MCAU   (23.06.2008 в 16:41)   письмо автору
 
 

$html = file_get_contents('file.txt', false);
$html = preg_replace("/[\n\r\t]/", '', $html);
$find = "<table class=\"tbl_1\" border=\"0\">(.*)<\/table>";
preg_match_all("/$find/Ui", $html,$m);

файл file.txt:
...
<table class="tbl_1" border="0">бла-бла-бла</table>
...
<table class="tbl_1" border="0">бла-бла-бла2
бла
</table>
...

нужно извлечь все между <table class="tbl_1" border="0"> и </table>
если убрать модификатор U жадно все извлекает, если не убирать, то ничего не выдает.
в чем может быть проблема?

   
 
 автор: MCAU   (23.06.2008 в 17:11)   письмо автору
 
   для: MCAU   (23.06.2008 в 16:41)
 

если не считывать из файла а читать из переменной, то все прекрасно работает
$html = "
<table class=\"tbl_1\" border=\"0\">
<tr class=\"h1\">
<td style=\"width:81px;\">
....
</td>
</tr>
</table>
...........
..........
<table class=\"tbl_1\" border=\"0\">
<tr class=\"h1\">
<td style=\"width:81px;\">
....
</td>
</tr><tr>
<td style=\"width:81px;\">
....
</td>
</tr>
</table>";

   
 
 автор: GeorgeIV   (23.06.2008 в 17:21)   письмо автору
 
   для: MCAU   (23.06.2008 в 17:11)
 

-

   
 
 автор: AcidTrash   (23.06.2008 в 22:35)   письмо автору
 
   для: MCAU   (23.06.2008 в 16:41)
 

>$html = preg_replace("/[\n\r\t]/", '', $html);
Зачем это надо?

>preg_match_all("/$find/Ui", $html,$m);
Добавьте модификатор s.
preg_match_all("/$find/Uis", $html,$m);

   
 
 автор: MCAU   (24.06.2008 в 11:38)   письмо автору
 
   для: AcidTrash   (23.06.2008 в 22:35)
 

да я уже по-всякому пробовал.

preg_match_all("/$find/Uis", $html,$m);
- тоже не помогает

   
 
 автор: AcidTrash   (26.06.2008 в 17:18)   письмо автору
 
   для: MCAU   (24.06.2008 в 11:38)
 

<?php
$html 
file_get_contents('file.txt'false);
$find "<table class=\"tbl_1\" border=\"0\">(.+?)<\/table>";
preg_match_all("/$find/is"$html,$m);
unset(
$m[0]);
print_r ($m);
?>

   
Rambler's Top100
вверх

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