Sign in

Зарегистрируйтесь, чтобы стать полноправным участником сообщества Masterpro.ws.

2019-11-17

How do stars form? To help find out, astronomers created this tantalizing false-color composition of dust clouds and embedded newborn stars in infrared wavelengths with WISE, the Wide-field Infrared Survey Explorer. The cosmic canvas features one of the closest star forming regions, part of the Rho Ophiuchi cloud complex some 400 light-years distant near the southern edge of the pronounceable constellation Ophiuchus. After forming along a large cloud of cold molecular hydrogen gas, young stars heat the surrounding dust to produce the infrared glow. Stars in the process of formation, called young stellar objects or YSOs, are embedded in the compact pinkish nebulae seen here, but are otherwise hidden from the prying eyes of optical telescopes. An exploration of the region in penetrating infrared light has detected emerging and newly formed stars whose average age is estimated to be a mere 300,000 years. That's extremely young compared to the Sun's age of 5 billion years. The prominent reddish nebula at the lower right surrounding the star Sigma Scorpii is a reflection nebula produced by dust scattering starlight. This view from WISE, released in 2012, spans almost 2 degrees and covers about 14 light-years at the estimated distance of the Rho Ophiuchi cloud.

Astronomy Picture of the Day на вашем сайте. Продолжение

Продолжаем усовершенствовать код, предназначенный для получения актуальной астрономической "картинки дня" с сайта NASA; начало см. в статье Astronomy Picture of the Day на вашем сайте. Работая с API Astronomy Picture of the Day, внезапно мы с вами осознаем, что с сервера NASA может транслироваться вовсе не линк на изображение, а... ссылка на ролик Youtube, и наш с вами код обязан это учитывать. Можно, разумеется, ограничиться проверкой на наличие изображения в полученном JSON, и в случае отсутствия такового - рандомно показать одну из заранее заготовленных картинок; но мы ведь не ищем легких путей, не правда ли?

 

 

Прежде всего, хотелось бы извлечь из полученной ссылки Youtube - идентификатор видео, как это сделать? С этим вполне справляется следующее регулярное выражение:

 

preg_match('#(\.be/|/embed/|/v/|/watch\?v=)([A-Za-z0-9_-]{5,11})#', $YoutubeCode, $matches);
if(isset($matches[2]) && $matches[2] != ''){
$YoutubeCode = $matches[2];
}

 

, и теперь ID видео находится у нас в переменной $YoutubeCode. Отлично, полдела сделано; публикация ролика уже не вызывает никаких затруднений:

 

echo '<iframe src="https://www.youtube.com/embed/' . $YoutubeCode . '" type="text/html" width="640" height="360" frameborder="0"></iframe>';

 

Идем далее. Как проверить, содержит ли полученный JSON ссылку на изображение? Вариантов подобной проверки немало; в частности, fopen, этот способ описан на форуме, в топике, посвященном Extended weather informer. Wunderground.com, взгляните:

 

} elseif (!@fopen($obj->url, 'r')) {
$best_images = Array(

 

Ну и вот, приходим наконец к коду, который полностью показан, как всегда, на форуме; демка в начале страницы. Данный API, как уже отмечалось, имеет ярко выраженную тенденцию к перманентному изменению, поэтому... поэтому разговор, безусловно, не закончен. Заходите на огонек.

Оставить комментарий

Добавьте ваш комментарий