Smirnof

Рейтинг
72
Регистрация
13.11.2012
Интересы
efcb2e

Да, обрезал. Там много кода, вот весь https://i.gyazo.com/aaaa54d63a092702284824534c70b7ce.png

Добавил строку $array['tags']=join(",",$data->items[0]->tags);

сайт грузит но так и остается Array

Вот тот код

protected function getVideo($id){
$part = "snippet,statistics";
$this->url = "https://www.googleapis.com/youtube/v3/videos?key={$this->config["key"]}&part=$part&videoEmbeddable=true&videoSyndicated=true&id=$id";
$data = $this->http(TRUE);
//var_dump($data);
$array['tags']=join(",",$data['tags']);
$data->items[0]->snippet->description = nl2br($data->items[0]->snippet->description);
if ($this->badwords($data->items[0]->snippet->title)==true) {
header("Location: {$this->config["url"]}");
exit;
}
return $data->items[0];
}

если добавить $array['tags']=join(",",$data['tags']);

то ошибка появляется, сайт не грузит.

Проверил, если на youtube нет ключей у видео, у меня в keywords отображаются ключи которые я прописал в config для tags.

Если у видео есть ключи, у меня Array

public static function tags(){
if(empty(self::$tags)){
return self::$config["tags"];
}else{
return self::$tags;
}
}

получается, что работает на половину?

Осталось разобраться, как вывести эти ключи.

Видимо проблема в том, что они отдаются не просто текстом а так:

"tags": [ "new",
"best",
............
"electro"
]

https://www.googleapis.com/youtube/v3/videos?key=AIzaSyBOk9H_7v9BXEwB8RIign71H7ze2vFO1ao&fields=items(snippet(title,description,tags))&part=snippet&id=XvYOoNK0emw

Array выводит :(

Т.е. Array и должно быть, осталось только верно вывести массив?

<?php
$arr=array('tags');
echo join(' ', $arr);
?>

Так выводит tags

Еще дописал функцию

/**
* Get Meta data of URL
* @param url
* @return formatted array
*/
public static function get_meta_data($url){
$content=Main::curl($url);
if($content){
$array = array('title'=>'','description'=>'','tags'=>'');
$pattern = "|<[\s]*title[\s]*>([^<]+)<[\s]*/[\s]*title[\s]*>|Ui";
if(preg_match($pattern, $content, $match)){
$array['title']=$match[1];
}
$data=get_meta_tags($url);
if(isset($data['description'])){
$array['description']=$data['description'];
}
$data=get_meta_tags($url);
if(isset($data['tags'])){
$array['tags']=$data['tags'];
}


unset($data);
unset($content);
unset($match);
return $array;
}
return FALSE;
}

изменений нет.

var_dump($data); вывел ключи

"tags"]=> array(46) { [0]=> string(3) "new" [1]=> string(4) "best" [2]=> string(7) "electro" [3]=> string(4) "club" [4]=> string(5) "dance" [5]=> string(5) "house" [6]=> string(5) "music" [7]=> string(7) "mashups" [8]=> string(7) "remixes" [9]=> string(3) "mix" [10]=> string(4) "2017" [11]=> string(10) "club music" [12]=> string(18) "electro house 2017" [13]=> string(15) "club music 2017" [14]=> string(16) "dance music 2017" [15]=> string(16) "house music 2017" [16]=> string(11) "mashup 2017" [17]=> string(10) "remix 2017" [18]=> string(10) "club songs" [19]=> string(8) "club mix" [20]=> string(8) "mix 2017" [21]=> string(10) "best music" [22]=> string(9) "new music" [23]=> string(6) "latest" [24]=> string(3) "hot" [25]=> string(9) "hot music" [26]=> string(9) "top music" [27]=> string(6) "charts" [28]=> string(13) "best playlist" [29]=> string(10) "trip music" [30]=> string(9) "car music" [31]=> string(7) "new mix" [32]=> string(11) "dance music" [33]=> string(9) "club hits" [34]=> string(10) "club remix" [35]=> string(13) "free download" [36]=> string(4) "hits" [37]=> string(8) "top hits" [38]=> string(10) "radio hits" [39]=> string(6) "top 10" [40]=> string(2) "of" [41]=> string(10) "music 2017" [42]=> string(7) "january" [43]=> string(12) "january 2017" [44]=> string(12) "best of 2017" [45]=> string(8) "клуб" }

Во-первых, не увидел в запрашиваемом урле части с fields=items(snippet(title,description,tags))

title,description я понял, что это отдается с помощью

$data->items[0]->snippet->description = nl2br($data->items[0]->snippet->description);
if ($this->badwords($data->items[0]->snippet->title)==true) {
header("Location: {$this->config["url"]}");
exit;
}

из-за этого и добавил строку

$data->items[0]->snippet->tags = ($data->items[0]->snippet->tags);

Не знаю, верно сделал или нет, у меня var_dump() показывает это

https://i.gyazo.com/64d096f72c9de2499b6562ff5d9b386d.png

:)

Пожалуйста, подскажите, как правильнее делать ссылку с параметром?

У меня так вася.ру/news/12345?one=что-то&two=url

или так лучше и правильнее вася.ру/news/12345/?one=что-то&two=url

Совсем запутался :(

Хотел поинтересоваться, можно ли запретить загрузку js из подгружаемого ($js=file_get_contents) js

https://glopart.ru/ads/adunit/1443/script.js


<?php
$js=file_get_contents('https://glopart.ru/ads/adunit/1443/script.js');
if(preg_match('#push\((?<json>.*?)\);#',$js,$match)){
$wares=json_decode($match['json'])->wares;
foreach ($wares as $item) {
//$itemtitle=str_replace('"', "'", $item->title);
$arr1 = array('"', ' ', '#', '«', '»', '%', '/');
$arr2 = array("", '+', '', '&laquo;', '&raquo;', '%25', '%2F')
$itemtitle=str_replace($arr1, $arr2, $item->title);
echo '<div class="div_most_commented_item">';
echo '<a href="/search/'.$itemtitle.'?new='.$itemtitle.'&url='.$item->url.'" class="blue3">';
echo '<div class=div_table><div class=div_row>';
echo '<div><span>'.$item->title.'</span></div></div></div></a></div>';
}
}
?>

11 строка на скрине ниже

Спасибо!

SeVlad,

Родителя же можешь вообще запретить к индексации, но я сомневаюсь в целесообразности этого.

Ему поставил тег nofollow, noindex ставить пока не стал.

Сейчас ситуация немного изменилась, стал замечать в поиске Яндекса страницы с параметром (очень длинный url - вася.ру/поиск/что-то?one=что-то&two=url). Уже хорошо.

Дело в том, что в результатах поиска я создаю тоже ссылки с параметрами уже на сам контент (те же параметры), ссылка получается гораздо короче и вот ее пока нет в индексе вообще, но она для меня гораздо приоритетней, так как интереснее из поисковика сразу переходить на контент а не на результаты поиска по сайту.

totamon, url разный но контент отличается лишь парой слов и ссылкой, т.е. + кнопка на сайте и все. В том то и дело, что все что я прочел это о том как избавиться от параметров, а как сделать на оборот... вот интересуюсь.

В итоге, пока наблюдаю, что в индексе появились страницы с параметром на результаты поиска по сайту но параметр у самого контента отпадает (игнорируется) пока.

Да, rel=canonical удалось настроить только на страницах с параметрами, больше ни как.

Всего: 235