|
|
|
| Здравствуйте
<tr>
<td width="200"><a href="http://www.site.ru/???/????/????" title="????? - открыть">7HG2</a> </td>
<td>Длина: 3.2 км;
</td>
<td><a href="http://www.site.ru/???/????/????" title="?????"><img src=""></a></td>
</tr>
|
Как выдернуть выделенные элементы? т.е. 7HG2 и 3.2
Для первого я так понимаю "/(?<=\>)([^<>]+?)(?=<\/a>)/is" - так выдергиваются все элементы из ссылок, как выдернуть только те, у которых есть открыть">
Для второго "#([\d]+\.[\d]+)#i"
Как можно все это совместить? | |
|
|
|
|
|
|
|
для: gOFREe
(11.06.2014 в 16:42)
| |
<?
$s = '<tr>
<td width="200"><a href="http://www.site.ru/???/????/????" title="????? - открыть">7HG2</a> </td>
<td>Длина: 3.2 км;
</td>
<td><a href="http://www.site.ru/???/????/????" title="?????"><img src=""></a></td>
</tr> ';
$p = "#title=\"[^\"]*открыть\".*?>([^<]+)<\/a>.*?<\/td>.*?<td>([^<]+)#si";
preg_match($p, $s, $m);
var_dump($m);
|
| |
|
|
|
|
|
|
|
для: Igorek
(11.06.2014 в 17:21)
| | А если не будет <tr><td> ? И учитывая что нужно выдернуть только 3.2
<?php
$s = '<a href="http://www.site.ru/???/????/????" title="????? - открыть">7HG2</a> Длина: 3.2 км;
<a href="http://www.site.ru/???/????/????" title="?????"><img src=""></a> ';
$p = "#title=\"[^\"]*открыть\".*?>([^<]+)<\/a>.*?Длина:([\d]+\.[\d]+)#si";
preg_match($p, $s, $m);
var_dump($m);
?>
|
Так не работает ... | |
|
|
|
|
|
|
|
для: gOFREe
(11.06.2014 в 17:57)
| | Вроде так работает, поправьте если что не так
$p = "#title=\"[^\"]*открыть\".*?>([^<]+)<\/a>.*?[^\"]*Длина:\s([\d]+\.[\d]+)#si";
|
Получаю тоже самое что и выше, но регулярка тут не работает, если полученный результат вставляю отдельно в переменную, то все работает.. из за чего это может быть?
<?php
require ('phpQuery-onefile.php');
$engines = file_get_contents('http://www.site.ru/');
$document = phpQuery::newDocument($engines);
$box = $document->find('table.categ_table tr td');
$str = "";
foreach ($box as $el) {
$pq = pq($el);
$str .= $pq->html();
}
?>
|
| |
|
|
|
|
|
|
|
для: gOFREe
(11.06.2014 в 19:52)
| |
<?
$p = "#title=\"[^\"]*открыть\".*?>([^<]+)<\/a>\s*Длина:\s*(\d+\.\d+)#si"
|
| |
|
|
|