Wyciąganie adresów filmów z YouTube zamieszczonych w tekście
15 grudnia 2010
Temat YouTube przypadkowo pojawia się na moim blogu drugi raz w krótkim czasie. Nie wiedziałem jaki tytuł nadać temu newsowi, najlepiej będzie gdy na przykładzie wytłumaczę w czym dzisiaj chciałbym Wam pomóc
Na nasztomaszow.pl w treści artykułów można oczywiście wpisywać kod HTML. Co za tym idzie, nie ma problemu ze wstawianiem filmików z YouTube. Problem z takim rozwiązaniem jest wtedy gdy chcielibyśmy móc jakoś zarządzać tymi filmami, zrobić ich katalog etc. Nie ma się czego uczepić bo filmy nie są zapisane w bazie w jakiś uporządkowany sposób.
Można byłoby utworzyć katalog filmów a potem wymyślić jakieś znaczniki np. BBCode i za ich pomocą umieszczać filmy w treści artykułów. To byłoby jednak kłopotliwe. Najprościej wejść na stronę filmu, skopiować kod HTML i zapomnieć o całej sprawie.
Nie pozostaje nam nic innego jak przetworzyć tekst i wyciągnąć z HTML'a potrzebne adresy. Oto gotowe rozwiązanie:
-
-
-
-
// wsadzamy informacje do bazy danych
-
}
W zmiennej $body jest tekst gdzie może znajdować się także kod HTML jakiegoś filmu z YouTube (lub filmów, może ich być wiele ale może nie być żadnego). Wyrażenie wyciąga identyfikatory filmów, ostatecznie pojawiają się one w tablicy $youtube. Wcześniej upewniamy się jeszcze, że filmy się nie zdublują.
Powyższy kod wyciąga adresy filmów zarówno z HTML, który odpowiada za umieszczenie odtwarzacza na stronie jak i ze zwykłych odnośników do strony youtube.com.
W ten prosty sposób mamy informacje o wszystkich filmach w danym tekście. Identyfikatory możemy zapisać do bazy danych i robić z nimi co nam się podoba.
Konkretny przykład. W poprzednim newsie dodałem swój wywiad na temat osady. Adres tego filmu to http://www.youtube.com/watch?v=CGzTCNn5Zos. W takim razie identyfikator filmu to CGzTCNn5Zos. Ta informacja wystarczy nam aby wygenerować gdzie indziej link do tego filmu, kod HTML odtwarzacza czy wstawić screen z filmiku.
Generowanie linku lub kodu odtwarzacza to pikuś. Skupmy się na screenach. Mają one swoje konkretne adresy w postaci http://img.youtube.com/vi/IDENTYFIKATOR/X.jpg gdzie:
IDENTYFIKATOR - Tego chyba nie trzeba tłumaczyć.
X - Cyfra od 0 do 3. 0 to duży, główny screen a 1, 2 i 3 to trzy małe klatki wyciągnięte z filmu.
Przykład:
http://img.youtube.com/vi/CGzTCNn5Zos/0.jpg
|
||
http://img.youtube.com/vi/CGzTCNn5Zos/1.jpg
|
http://img.youtube.com/vi/CGzTCNn5Zos/2.jpg
|
http://img.youtube.com/vi/CGzTCNn5Zos/3.jpg
|
Blog przede wszystkim o Internecie i mojej pasji jaką jest tworzenie stron www. Ale nie ograniczam się do jednej tematyki, piszę o wszystkim o czym mam ochotę :-)