|
|
|
|
|
|
для: sidPR
(21.06.2007 в 22:41)
| | Можно пример?
ЗЫЖ
Перечитал счас ... кое-чего не понял:
> То есть? Нужно вырезать все <TD></td>, в которых нет таблиц?
> (а вместо этого (прим. если внутри есть таблица) вырезать <TD></td> из этой таблицы??)
___________________________________________________
Нет, тоесть нужно вырезать всю инфу где встречается даже такое
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
В этом примере регулярка будет вырезать примерно такой кусок "<td>
<TABLE><TR><TD>TEST" а нужно тольео слово Test вот на таких этапах регулярка работает косячно :(
Я вроде это и имел ввиду.. Не оч понятно написал, конечно ...
Попробуйте тогда вот такую штуку: #<td[^>]*>(((?!<td[^>]*>).)*)</td>#is
(не проверял, но вроде должно работать)
Можно вместе с предыдущим его использовать...
ЗЫЖЖ если что-то опять не так понял, давайте начнем новую тему, эта уже раздулась сильно... | |
|
|
|
|
|
|
|
для: kasmanaft
(21.06.2007 в 22:21)
| | он работает но криво вырезает :( | |
|
|
|
|
|
|
|
для: sidPR
(21.06.2007 в 22:04)
| | Ыыы... Попробуйте сохранить страницу, да file_get_contents('123.txt'), думаю, в этом дело.
Хотя.... рекурсия эта ресурсоемкая штука - может быть где-то чего-то не хватает, хз :(
Попробуйте, в конце концов, поменьше страницу какую-нибудь обработать.. | |
|
|
|
|
|
|
|
для: kasmanaft
(21.06.2007 в 18:31)
| |
<?php
set_time_limit(100);
$text = file_get_contents('http://softtime.ru/forum/read.php?id_forum=6&id_theme=37964&page=1');
preg_match_all('#<td(?>[^>]*)>((?>((?!(<td(?>[^>]*)>|</td>)).)+)|(?R))*</td>#s', $text, $arr);
echo count($arr[1]);
for($i=0; $i <= count($arr[1])-1; $i++){
echo $arr[1][$i]."<br>";
}
?>
|
500 Ошибку пишет сохраняю через zende studio
Даже без for всеравно не пашет :( | |
|
|
|
|
|
|
|
для: sidPR
(21.06.2007 в 17:24)
| | Из-за file_get_contents('http://softtime.ru/fo....') ?
Не знаю.. у меня соображает долго (относительно), но работает...
(пробовал запускать в PHP Expert Editor - пустой экран, пошел в Zend Studio - там нормально отработал скрипт) | |
|
|
|
|
|
|
|
для: sidPR
(21.06.2007 в 15:06)
| | 500 Ошибку кстате выдает =\ | |
|
|
|
|
|
|
|
для: kasmanaft
(21.06.2007 в 14:06)
| | Гениально! супер! великолепно... многим пригодится эта регулярка, лично от меня огромное спасибо а тобы я так и извращялся бы для каждой строки своя регулярка!!! Респект вам kasmanaft! | |
|
|
|
|
|
|
|
для: sidPR
(20.06.2007 в 16:35)
| | Ндааа.... так и с ума сойти не долго :D
<?php
$text = file_get_contents('http://softtime.ru/forum/read.php?id_forum=6&id_theme=37964&page=1');
preg_match_all('#<td(?>[^>]*)>((?>((?!(<td(?>[^>]*)>|</td>)).)+)|(?R))*</td>#s', $text, $regs);
foreach($regs[0] as $val)
echo $val.str_repeat("\r\n", 15);
?>
|
| |
|
|
|
|
|
|
|
для: sidPR
(20.06.2007 в 16:35)
| | я тут вычитал про "Рекурсивные шаблоны" возможно это както поможет я в регулярках полный нуб | |
|
|
|
|