Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Kod YouTube i BBCode
Forum PHP.pl > Forum > Przedszkole
Amfidiusz
Witam!

Na wstępie zaznaczę, że na php się kompletnie nie znam. Zawsze korzystałem z gotowców i jedynie lekko je modyfikowałem.

Obecnie bawię się formularzem, który po wypełnieniu pół zwróci tekst z tagami BBCode. Jednym z takich tagów jest u mnie [youtube][/youtube], który wyświetla film. Między tagami powinien się znaleźć kod filmu, np. [youtube]QEllLECo4OM[/youtube]. Jednak kopiowanie samego kodu jest dla użytkowników mało naturalne. Chciałbym, żeby mogli oni wkleic cały link, a skrypt wyciągnął sobie sam kod filmiku, np.:

Input użytkownika: http://www.youtube.com/watch?v=QEllLECo4OM
Output skryptu: [youtube]QEllLECo4OM[/youtube]

obecnie kod php wygląda następująco (i działa dla inputu "QEllLECo4OM"):
Kod
         if (document.getElementById("youtube").value != ""){
         txt = "";
         txt += "[center][list][youtube]";
         txt += ""
         txt += document.getElementById("youtube").value;
         txt += "[/youtube][/list][/center]\n\n\n";
         document.getElementById("gen").value += txt;


Dobrze by było, żeby skrypt odrzucał nie tylko to, co jest przed kodem (czyli http://www.youtube.com/watch?v=) ale także to, co znajduje się po nim (rozpoczęte znakiem &, np: &feature=related).

Da się takie cos zrobić? Jeśli tak - to pomożecie laikowi? smile.gif
bounty
po prostu przefiltruj ten link od v= do znaku & lub jesli go nie ma to do konca...
Amfidiusz
Cytat(bounty @ 11.05.2009, 21:32:36 ) *
po prostu przefiltruj ten link od v= do znaku & lub jesli go nie ma to do konca...

Cytat
Na wstępie zaznaczę, że na php się kompletnie nie znam.

Właśnie chcę zrobić to, co opisałeś. Brakuje mi jedynie narzędzi...
bounty
Kod
<script language="JavaScript">
var str = "youtube.pl/watch.php?v=JAKISTAMFILMIK";
var a = str.indexOf("v=")+2;
var b = str.indexOf("&");
if(b==-1){
var c = str.substr(a,str.length-a);
} else {
var c = str.substr(a,b-a);
}
alert(c);
</script>

takie z dup* ale jest tongue.gif

a jak chcesz w php to
  1. <?php
  2. $url ='youtube.pl/watch.php?v=JAKISFILMIK';
  3. $x = explode('&',array_pop(explode('v=',$url)));
  4. echo $x[0];
  5. ?>
Amfidiusz
Już testuje. Dzięki!

------------

Ok, dzięki chłopaki, ale bez podstaw nie jestem w stanie dostosować tego kodu do moich potrzeb. A że ani Java, ani php nie będą mi w życiu potrzebne, zostawię tak jak jest winksmiley.jpg
bounty
przecież ten kawalek kodu robi to o czym pisales ...
wyodrebnia z linku zawartosc zmiennej v
...
wiec co jest nie tak
ps jak chcesz to dalem jeszcze w php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.