Answer the question
In order to leave comments, you need to log in
When I try to display the text in the array that is in the variable, it does not work. Why?
Good day, I wanted to make a website for myself that will display weather information. In the topic Why does it not display text? I was told about array, but when I tried to do what I wanted (I took an element on the page and then its contents, it was all in a variable, after which when I tried to display it simply displayed that it did not find such a text that was in array (That's how I understood it), although the array contained the text that was in that variable).
The code:
<?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";
}
?>
Answer the question
In order to leave comments, you need to log in
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';
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question