- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
totamon, еще хотел поинтересоваться,
ранее функция получала конкретные запросы из админки, теперь получает их налету $js=file_get_contents.
В админке было:
protected function getcates($nom){ - блок
блок 1 - один запрос;
блок 2 - второй запрос;
выводил разные результаты.
Теперь в админке прописано кол-во роликов для блока (5) и название блока $nom,
если название заполнено - блок выводить, не заполнено - не выводить.
В результате на сайте стали появляться блоки с одинаковыми результатами (роликами).
Получается, что при формировании двух блоков, происходит 2 запроса к $js=file_get_contents, так? :)
И видимо в результатах двух разных обращений к $js=file_get_contents, встречаются одни и те же запросы из-за чего и отображаются блоки с одинаковыми результатами (роликами).
Можно функцию изменить таким образом, чтобы обращение к $js=file_get_contents было одно и уже из его результатов брать ключи для разных блоков?
Сам $js=file_get_contents может выводить от одного до пяти результатов...
Работа функции по одному или двум запросам может вернуть пустой результат и блоки не отобразятся, это не должно повлиять на работу следующих блоков.
Пожалуйста, помогите разобраться, если я смог донести свою мысль.
Спасибо!
Функция
$part = "snippet";
$js=file_get_contents('https://glopart.ru/ads/adunit/4640/script.js');
if(preg_match('#push\((?<json>.*?)\);#',$js,$match)){
$wares=json_decode($match['json'])->wares;
foreach ($wares as $item) {
//$arr1 = array('(', ')', '{', '}', ':', '-', '[', ']', '"', ' ', '/', '#');
//$arr2 = array('', '', '', '', '', '+', '', '', '', '+', '+', '');
$itemtitle=$item->title;
//$itemtitle=str_replace($arr1, $arr2, $item->title);
}
}
$this->url = "https://www.googleapis.com/youtube/v3/search?key={$this->config["key"]}&part=$part&order={$this->config[$nom.'sortingresults']}&maxResults={$this->config[$nom.'number']}&q=".urlencode($itemtitle)."&videoEmbeddable=true&videoSyndicated=true&type=video";
$data = $this->http(TRUE);
$html = "";
foreach ($data->items as $yt) {
// global $listQueryVideoHit;
if (!isset($listQueryVideoHit))
$listQueryVideoHit = 0;
elseif($listQueryVideoHit === 3)
$listQueryVideoHit = 0;
$html .= "<div class='div_topic_cover topic_cover_".(++$listQueryVideoHit)." reviews'>
<a href=\"".Main::href("video/{$yt->id->videoId}")."\" class=\"a_topic_cover\">
<img src=\"/themes/images/icon/blank_275x180.png\" class=\"img_topic_cover\" alt=\"{$yt->snippet->title}\" style=\"background: url(https://img.youtube.com/vi/{$yt->id->videoId}/mqdefault.jpg;\">
<div class=\"div_topic_cover_caption\">{$yt->snippet->title}</div>
</a>
</div>";
}
if(!empty($html)){
$html = '<div class="div_index_topics_block"><a href="/search/'.urlencode($itemtitle).'" class="div_index_caption2 reviews">'.($item->title).'</a></div>'.$html.'<div id="div_index_topics_next_reviews_0" class="clear"></div> <div class="center clear" id="div_index_topics_more_reviews_0"><noindex><a href="/search/'.urlencode($itemtitle).'" rel="nofollow" class="div_index_topics_more">Еще видео</a></noindex></div>';
}
return $html;
}
Пример:
в админке заполнил поля для 5 блоков,
$js=file_get_contents отдала 5 результатов,
успешно обработалось 3, на сайте появилось 3 блока.
Если успешно 5, то и на сайте 5 блоков.
Пожалуйста, помогите исправить "уравнение"
if (!isset($listQueryVideoHit))
$listQueryVideoHit = 0;
elseif($listQueryVideoHit === 5)
$listQueryVideoHit = 0;
Сейчас идет вывод
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
Нужно
1,1,1,1,1
2,2,2,2,2
3,3,3,3,3
4,4,4,4,4
5,5,5,5,5
Попробовал методом тыка, не получилось :(
Спасибо!