Перейти к содержанию

Minamoto Michi

Администрация
  • Публикаций

    2493
  • Зарегистрирован

  • Посещение

  • Победитель дней

    270

Весь контент Minamoto Michi

  1. Ты про каталог, или про сервер? Т.е. эта штука сама, при добавлении материалов в библиотеку, пополняться сможет?
  2. $sText = preg_replace('/(?:http(?:s|):|)(?:\/\/|)(?:www\.|)vk\.com\/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i].'(?:\?[\s\S]+|)/Ui', '<iframe src="http://vk.com/video_ext.php?oid='.$sTextMatches[1][$i].'&id='.$sTextMatches[2][$i].'&hash='.$matches[1].'" width="560" height="315" frameborder="0"></iframe>', $sText); Поменяй на $sText = preg_replace('/<video>(?:http(?:s|):|)(?:\/\/|)(?:www\.|)vk\.com\/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i].'(?:\?[\s\S]+|)<\/video>/Ui', '<iframe src="http://vk.com/video_ext.php?oid='.$sTextMatches[1][$i].'&id='.$sTextMatches[2][$i].'&hash='.$matches[1].'" width="560" height="315" frameborder="0"></iframe>', $sText);
  3. public function VideoParser($sText) { /** * youtube.com */ $sText = preg_replace('/<video>(?:http(?:s|):|)(?:\/\/|)(?:www\.|)youtube\.com\/watch\?v=([a-zA-Z0-9_\-]+)(&.+)?<\/video>/Ui', '<iframe width="560" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $sText); /** /** * youtu.be */ $sText = preg_replace('/<video>http:\/\/(?:www\.|)youtu.be\/([a-zA-Z0-9_\-]+)(&.+)?<\/video>/Ui', '<iframe width="560" height="315" src="http://www.youtube.com/embed/$1?rel=0" frameborder="0" allowfullscreen></iframe>', $sText); /** * twitch */ $sText = preg_replace('/<video>(?:http(?:s|):|)(?:\/\/|)(?:www\.|)twitch.tv\/([a-zA-Z0-9_\-]+)(&.+)?<\/video>/Ui', '<iframe src="https://player.twitch.tv/?channel=$1" frameborder="0" scrolling="no" height="315" width="560" class="youtube"></iframe>', $sText); /** * twitch */ $sText = preg_replace('/<video>(?:http(?:s|):|)(?:\/\/|)(?:www\.|)twitch.tv\/([a-zA-Z0-9_\-]+)(&.+)?\/v\/([A-Z]{1}|[0-9]{8}).*<\/video>/Ui', '<iframe src="https://player.twitch.tv/?video=v$3" frameborder="0" scrolling="no" height="315" width="560" class="youtube"></iframe>', $sText); /** * twitch chat */ $sText = preg_replace('/<video>(?:http(?:s|):|)(?:\/\/|)(?:www\.|)twitch.tv\/([a-zA-Z0-9_\-]+)(&.+)?\/chat<\/video>/Ui', '<div align="center"><iframe src="https://www.twitch.tv/$1/chat?popout=" frameborder="0" scrolling="no" height="500" width="650"></iframe></div>', $sText); /** * vimeo.com */ $sText = preg_replace('/<video>http:\/\/(?:www\.|)vimeo\.com\/(\d+).*<\/video>/i', '<iframe src="http://player.vimeo.com/video/$1" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>', $sText); /** * rutube.ru */ $sText = preg_replace('/<video>http:\/\/(?:www\.|)rutube\.ru\/tracks\/(\d+)\.html.*<\/video>/Ui', '<OBJECT width="470" height="353"><PARAM name="movie" value="http://video.rutube.ru/$1"></PARAM><PARAM name="wmode" value="window"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://video.rutube.ru/$1" type="application/x-shockwave-flash" wmode="window" width="470" height="353" allowFullScreen="true" ></EMBED></OBJECT>', $sText); /** * video.yandex.ru */ $sText = preg_replace('/<video>http:\/\/video\.yandex\.ru\/users\/([a-zA-Z0-9_\-]+)\/view\/(\d+).*<\/video>/i', '<object width="467" height="345"><param name="video" value="http://video.yandex.ru/users/$1/view/$2/get-object-by-url/redirect"></param><param name="allowFullScreen" value="true"></param><param name="scale" value="noscale"></param><embed src="http://video.yandex.ru/users/$1/view/$2/get-object-by-url/redirect" type="application/x-shockwave-flash" width="467" height="345" allowFullScreen="true" scale="noscale" ></embed></object>', $sText); /** * vk.com */ $regExp = '/<video>(?:http(?:s|):|)(?:\/\/|)(?:www\.|)vk\.com\/video((?:-|)[\d]+)_((?:-|)[\d]+)(?:\?[\s\S]+|)<\/video>/i'; if(preg_match($regExp, $sText)) { preg_match_all($regExp, $sText, $sTextMatches); for($i=0;$i<count($sTextMatches[1]);$i++){ $html = file_get_contents('http://vk.com/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i]); preg_match('/\\\"hash2\\\":\\\"([a-f0-9]+)\\\"/Ui', $html, $matches); $sText = preg_replace('/(?:http(?:s|):|)(?:\/\/|)(?:www\.|)vk\.com\/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i].'(?:\?[\s\S]+|)/Ui', '<iframe src="http://vk.com/video_ext.php?oid='.$sTextMatches[1][$i].'&id='.$sTextMatches[2][$i].'&hash='.$matches[1].'" width="560" height="315" frameborder="0"></iframe>', $sText); } } return $sText; }
  4. asd.php <?php ini_set('display_errors', 'On'); error_reporting(E_ALL); $sText="<video>http://vk.com/video-50584238_170993059</video>"; print "$sText\n"; $regExp = '/<video>(?:http(?:s|):|)(?:\/\/|)(?:www\.|)vk\.com\/video((?:-|)[\d]+)_((?:-|)[\d]+)(?:\?[\s\S]+|)<\/video>/i'; if(preg_match($regExp, $sText)) { preg_match_all($regExp, $sText, $sTextMatches); for($i=0;$i<count($sTextMatches[1]);$i++){ $html = file_get_contents('http://vk.com/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i]); preg_match('/\\\"hash2\\\":\\\"([a-f0-9]+)\\\"/Ui', $html, $matches); $sText = preg_replace('/(?:http(?:s|):|)(?:\/\/|)(?:www\.|)vk\.com\/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i].'(?:\?[\s\S]+|)/Ui', '<iframe src="http://vk.com/video_ext.php?oid='.$sTextMatches[1][$i].'&id='.$ } } print "$sText\n"; ?> Работает так: # php -ef asd.php <video>http://vk.com/video-50584238_170993059</video> <video><iframe src="http://vk.com/video_ext.php?oid=-50584238&id=170993059&hash=0f1473b96cbfc2fc" width="560" height="315" frameborder="0"></iframe></video> Там точно именно такого типа строка на вход попадает?
  5. Мой - преобразует :) Или надо обязательно с тегами "Видео"?
  6. $regExp = '/(?:http(?:s|):|)(?:\/\/|)(?:www\.|)vk\.com\/video((?:-|)[\d]+)_((?:-|)[\d]+)(?:\?[\s\S]+|)/i'; if(preg_match($regExp, $sText)) { preg_match_all($regExp, $sText, $sTextMatches); for($i=0;$i<count($sTextMatches[1]);$i++){ $html = file_get_contents('http://vk.com/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i]); preg_match('/\\\"hash2\\\":\\\"([a-f0-9]+)\\\"/Ui', $html, $matches); $sText = preg_replace('/(?:http(?:s|):|)(?:\/\/|)(?:www\.|)vk\.com\/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i].'(?:\?[\s\S]+|)/Ui', '<iframe src="http://vk.com/video_ext.php?oid='.$sTextMatches[1][$i].'&id='.$sTextMatches[2][$i].'&hash='.$matches[1].'" width="560" height="315" frameborder="0"></iframe>', $sText); } } Если ему в sText скормить строку http://vk.com/video-50584238_170993059Он в sText положит строку <iframe src="http://vk.com/video_ext.php?oid=-50584238&id=170993059&hash=0f1473b96cbfc2fc" width="560" height="315" frameborder="0"></iframe>Что весьма похоже на настоящий код: <iframe src="https://vk.com/video_ext.php?oid=-50584238&id=170993059&hash=0f1473b96cbfc2fc" width="607" height="360" frameborder="0"></iframe> Исходная версия хочет строки типа <video>http://vk.com/video-50584238_170993059</video>При этом "слепая": из второго числа (170993059) берет только первый символ (1).
  7. Последняя дуэль Пушкина.
  8. Вот и в наши местности весна полноценная пришла. Чирикают всякие "хохловатые желтушкИ" (def. от мелкой): Расцвели цветы, и уже (если присмотреться) что-то летает:
  9. Minamoto Michi

    Казалось бы, обычный вечер

    Сначала учишься чувствовать мир, и от этого "прёт". (та самая "правильность", в частности) Потом, учишься опираться на движение мира, тебя несет, как на гребне волны, и от этого прёт ещё больше. И, наконец, учишься управлять этим движением, и это "шибает" сильнее всего. :)
  10. Дзю, Морри, с праздниками вас! Дзю, успехов тебе с новым проектом! Морри, пусть у тебя всё получится!
  11. Бремя доказательства лежит на тебе, формально, как на авторе. Хоть мне и достаточно будет привести один любой контрпример, чтоб твоя фантазия стала ложью. Делаем?
  12. Подпоить десептикона - бесценно: http://webm.armarium.org/i/2ARNYC.webm
  13. Интересно, какая цель у твоей фантазии?Есть те, что работают хуже, есть те, что так же. Есть, что быстрее.
  14. С наступлением теплого сезона, решил озаботиться обновлением роликового гардероба, несколько сточившегося за прошлый год. Пока покупал защиту, наткнулся на требовательный взгляд из залежей инвентаря: Не дрогнув кошельком, внезапно стал обладателем носителя глаза — такого вот юнита тотально каноничной раскраски: Как заверил меня юный продаван, аппарат ровно мчит на двадцатитрехсантиметровом колесе, легко неся своим мощным амортизатором тушку самца человека весом до сотни килограмм. Будет завтра сухо — затестим.
  15. Скорее, "Новое зелье Драко не вызывало эпичного похмелья только у хозяина".
  16. А что делают, когда появляются лишние записи?
  17. Minamoto Michi

    К.Г.Ж.

    — Тук-тук! — Хто там?
  18. Конкурс фанфиков от МВД.
  19. Minamoto Michi

    Windows

    Может, это про Смартскрин? Типа: "...Установил Windows 10, скачал и запустил mail.ru agent..."
  20. Игровая механика такая механика.
  21. Minamoto Michi

    Загадки во тьме

    Работает :) И ещё вот эта: https://sites.google.com/site/astropipp/
  22. Скоро на экранах [R!]
×
×
  • Создать...