Помогите составить регулярку

Статус
В этой теме нельзя размещать новые ответы.

askarbin

Профессор
Регистрация
31 Мар 2009
Сообщения
292
Реакции
36
Подскажите пожалуйста как составить регулярку для того, чтобы парсить значения город -> температура? со страницы Для просмотра ссылки Войди или Зарегистрируйся
 
Код:
php примерно так
"~<tr class=\"c1\"><td>(.*)<\/td><td align=\"center\">(\d{1-2}\.\d{1})\&deg\;<\/td><\/tr>~Usi"
 
Попробуй вот такую
PHP:
'@<tr[^>]+c\d"><td>(.+)</td><td[^>]+>(.+)</td>@Ui'
 
Делаю так ничего не выводит:
PHP:
<?php
$file = file_get_contents("http://sinoptik.org.ua/weather/black-sea/index.php"); 
$file = str_replace("\r\n","",$file); 
//print_r($file); 
$k = preg_match_all('@<tr[^>]+c\d"><td>(.+)</td><td[^>]+>(.+)</td>@Ui', $file, $res); 
for ($i = 0; $i < $k; $i++){ 
echo $res[1][$i];     
} 
?>
Делаю так:
PHP:
<?php
$file = file_get_contents("http://sinoptik.org.ua/weather/black-sea/index.php"); 
$file = str_replace("\r\n","",$file); 
print_r($file); 
$k = preg_match_all('@<tr[^>]+c\d"><td>(.+)</td><td[^>]+>(.+)</td>@Ui', $file, $res); 
for ($i = 0; $i < $k; $i++){ 
echo $res[1][$i];     
} 
?>
Получаю фразу: Программист, это - такой человек, который сначала много думает, чтобы потом ничего не делать!

Это как объяснить можно?
 
там защита от парсинга похоже
надо делать через curl эмулироватьь броузер полностью
 
хм, начал парсить у них через curl. так теперь эти ребята стали рисовать изображение средствами php.
их упорство меня поражает)
Подскажите, тогда, как составить регулярку, чтобы спарсить температуру воды с gismeteo со страницы:
 
А подскажите, как сделать так, чтобы в массив $match поступало только значение температуры - (.*?) ?
 
А подскажите, как сделать так, чтобы в массив $match поступало только значение температуры - (.*?) ?
Если речь идет о регэкспе, приведенном мной выше - то никак. В результирующем массиве всегда будет полное совпадение.

Можно поинтерисоваться - а зачем? Ведь ничто не мешает передать полученное значение $match[1] в другой массив либо переменную, проверить на существование и тд.
 
В общем-то так я и сделал, а поинтересовался только для того, чтобы меньше операций плодить, т.к. у меня довольно внушительный список страниц, с которых нужно эту информацию парсить
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху