Smirnof

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

Так сделал

}

if(!empty($html)){

$html = 'ооооооооооооооо'.$html;
}

return $html;
}

вывод идет сразу после </a> в первом echo '

т.е. до выполнения $html .= "

'.urlencode($itemtitle).' не удаляет из строки такие знаки ★☁

преобразует их в код %E2%98%85%E2%98%81

как вообще удалить подобные знаки?

Может так изменить:

$arr1 = array('(', ')', '{', '}', ':', '-', '[', ']', '"', ' ', '/', '#');

$arr2 = array('', '', '', '', '', '+', '', '', '', '+', '+', '');

$itemtitle=str_replace($arr1, $arr2, $item->title);

но что прописать?

Спасибо!

Здесь перепробовал все функции ничего не получилось.

Мне нужно в результате получить чистую строку без всевозможных знаков "красоты" ★☁

★☁ Music Club ☁★ Dance music и на русском☁★.

надо: Music Club Dance music и на русском

чтобы потом этот запрос отправить в поиск.

Функция urlencode здорово помогла с пробелами и другими знаками, но urlencode не удаляет "красоту" ☁★ из-за чего запрос в поиск идет кривой :(

Как быть?

Вот готовые, что касается ключей - я не в курсе.

1, 2

Мне кажется не было бы столько приложений если была бы проблема с ключами.

Вывел ключи так:

<?php
$my_array=join(", ",Main::tags());
print_r($my_array);
?>

Теперь если ключи есть то они выводятся.

Но если ключей нет то код

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

не работает и заданные в админке ключи не отображаются.

При этом возникают ошибки:

Notice: Undefined property: stdClass::$tags in

Main::set("tags",$yt->snippet->tags);

и

Warning: join(): Invalid arguments passed in

$my_array=join(", ",Main::tags());

Как решить проблему, чтобы при отсутствии ключей, выводились дефолтные ключи из конфига?

Спасибо!

Здесь можно https://developers.soundcloud.com - здесь вроде все парсят, куча готовых решений есть.

В результате получил код:


protected function getcates($nom){
// global $listQueryVideoHit;

$part = "snippet";

$js=file_get_contents('https://glopart.ru/ads/adunit/4031/script.js');
if(preg_match('#push\((?<json>.*?)\);#',$js,$match)){
$wares=json_decode($match['json'])->wares;
foreach ($wares as $item) {

$arr1 = array('"', ' ', '/', '#');
$arr2 = array("", '+', '-', '');
$itemtitle=str_replace($arr1, $arr2, $item->title);
}
}

echo '<div class="div_index_topics_block"><a href="/search/'.urlencode($itemtitle).'" class="div_index_caption2 reviews">'.($item->title).'</a>';

$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) {

if (!isset($listQueryVideoHit))
$listQueryVideoHit = 0;

elseif($listQueryVideoHit === 3)
$listQueryVideoHit = 0;

$html .= "111<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>
222";
}
return $html;

}

// global $listQueryVideoHit; пришлось закомментировать, так-как, вроде из-за этого съезжали настройки

if (!isset($listQueryVideoHit))
$listQueryVideoHit = 0;

elseif($listQueryVideoHit === 3)
$listQueryVideoHit = 0;

как закомментировал, все встало на места.

Верно сделал?

Еще в код я добавил

echo '<div class="div_index_topics_block"><a href="/search/'.urlencode($itemtitle).'" class="div_index_caption2 reviews">'.($item->title).'</a>';

данная строка отображается (выводится) один раз.

Пожалуйста, подскажите, как вывести подобную строку после выполнения $html .= " так, чтобы она отображалась тоже один раз (оформление блока на сайте).

Часто, $html .= " возвращается пустым и на сайте остается пустой блок, как скрыть блок если $html .= " пуст?

Спасибо!

p.s. ранее блок проверял так <?php if(isset($this->config["onecatename"]) && $this->config["onecatename"]!=''):?>...<?php endif;?>

но теперь в конфиге данных нет и проверить нечего...

Segey, спасибо!

Теперь буду проверять.

Хотел еще поинтересоваться, в строке

$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=$itemtitle&videoEmbeddable=true&videoSyndicated=true&type=video";

$itemtitle можно как-то заменить на '.urlencode($itemtitle).'

или это только в echo возможно?

Спасибо!

totamon, огромное вам спасибо!

Работает как надо!

Уже думал, что не найду решение.

Функции я переписал сам...

Спасибо! Разобрался

Всего: 235