Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Kod YouTube i BBCode
Amfidiusz
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 11.05.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
bounty
post
Post #2





Grupa: Zarejestrowani
Postów: 68
Pomógł: 9
Dołączył: 12.04.2009
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


po prostu przefiltruj ten link od v= do znaku & lub jesli go nie ma to do konca...


--------------------
<?php
while($earth){
drop_bomb();
}
?>
Go to the top of the page
+Quote Post
Amfidiusz
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 11.05.2009

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post
Maxik
post
Post #4





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


parse_url" title="Zobacz w manualu PHP" target="_manual z flagą PHP_URL_QUERY, potem explode" title="Zobacz w manualu PHP" target="_manual


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
bounty
post
Post #5





Grupa: Zarejestrowani
Postów: 68
Pomógł: 9
Dołączył: 12.04.2009
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


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. ?>


Ten post edytował bounty 11.05.2009, 20:56:43


--------------------
<?php
while($earth){
drop_bomb();
}
?>
Go to the top of the page
+Quote Post
Amfidiusz
post
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 11.05.2009

Ostrzeżenie: (0%)
-----


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

Ten post edytował Amfidiusz 11.05.2009, 21:07:27
Go to the top of the page
+Quote Post
bounty
post
Post #7





Grupa: Zarejestrowani
Postów: 68
Pomógł: 9
Dołączył: 12.04.2009
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


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


--------------------
<?php
while($earth){
drop_bomb();
}
?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 13:03