<?php
#Эта функция которая берет данные
/*function Parse($p1,$p2,$p3){
$num1 = strpos($p1, $p2);
$num2 = substr($p1,$num1);
if ($num1 === false) return 0;
return strip_tags( substr($num2,0, strpos($num2,$p3)));
}*/ // Я это закоментировал ,так как это у меня есть в другом файле ,и оно если подключаю их двоих выдает ошибку
$gg = array( # Массив
'Погода в Запорожье: Без осадков. Облачно с прояснениями.',
'Погода в Запорожье: Без осадков. Небольшая облачность.',
'Погода в Запорожье: Без осадков. Переменная облачность.'
);
$String = file_get_contents('https://www.meteoprog.ua/ru/weather/Zaporizhzhia/'); #Берет сайт
$what = Parse($String, '<div class="infoPrognosis widthProg">' ,/*Тут берется содержимое между этими тегами*/ '</div>');
echo $what; # Тут я вывожу то что оно взяло
#Это проверяет есть ли в $what тот текст что есть в массиве ,если есть то выводит РАБОТАЕТ! Если нет то stop
if (in_array($what , $gg)) {
echo "РАБОТАЕТ!";
}
else{
echo "stop";
}
?>
<?php
#Эта функция которая берет данные
function Parse($p1,$p2,$p3){
$num1 = strpos($p1, $p2);
$num2 = substr($p1,$num1);
if ($num1 === false) return 0;
return strip_tags( substr($num2,0, strpos($num2,$p3)));
} // Я это закоментировал ,так как это у меня есть в другом файле ,и оно если подключаю их двоих выдает ошибку
$gg = array( # Массив
'Погода в Запорожье: Без осадков. Облачно с прояснениями.',
'Погода в Запорожье: Без осадков. Небольшая облачность.',
'Погода в Запорожье: Без осадков. Переменная облачность.'
);
$String = file_get_contents('https://www.meteoprog.ua/ru/weather/Zaporizhzhia/'); #Берет сайт
$what = Parse($String, '<div class="infoPrognosis widthProg">' ,/*Тут берется содержимое между этими тегами*/ '</div>');
$what = trim($what);
echo var_dump($what); # Тут я вывожу то что оно взяло
#Это проверяет есть ли в $what тот текст что есть в массиве ,если есть то выводит РАБОТАЕТ! Если нет то stop
if (in_array($what , $gg)) {
echo "РАБОТАЕТ!";
}
else{
echo "stop";
}
?>
$what = 'Погода в Запорожье: Без осадков. Переменная облачность.';
или другой текст из массива то все отлично работает, а если писать $what = Parse($String, '<div class="infoPrognosis widthProg">' ,/*Тут берется содержимое между этими тегами*/ '</div>');
оно не работает <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
string(115) "Погода в Запорожье: Без осадков. Небольшая облачность."
stop</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
string(107) "Погода в Запорожье: Без осадков. Небольшая облачность."
stop</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
string(98) "Погода в Запорожье:Без осадков. Небольшая облачность."
stop</body>
</html>
function parse($p1, $p2, $p3)
{
preg_match('#' . $p2 . '(.*)' . $p3 . '#isU', $p1, $matches);
return preg_replace('#(:\s+)#', ': ', trim($matches[1]));
}
$gg = array( # Массив
'Погода в Запорожье: Без осадков. Облачно с прояснениями.',
'Погода в Запорожье: Без осадков. Небольшая облачность.',
'Погода в Запорожье: Без осадков. Переменная облачность.'
);
// Кэш, чтоб не слать постоянно запросы на сервер, раз в сутки обновляется
if (!file_exists(date('dmY') . '-weat.cache')) {
$string = file_get_contents('https://www.meteoprog.ua/ru/weather/Zaporizhzhia/'); #Берет сайт
file_put_contents(date('dmY') . '-weat.cache', $string);
} else {
$string = file_get_contents(date('dmY') . '-weat.cache');
}
$what = parse($string, '<div class="infoPrognosis widthProg">', '</div>');
var_dump($what);
var_dump($gg[2]);
if (in_array($what, $gg, true)) {
echo 'РАБОТАЕТ!';
} else {
echo 'stop';
}