Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] auto zmiana linku
Forum PHP.pl > Forum > Przedszkole
bastek8989
Witam

no tu mam nielada problem

chcialbym zeby adres http://www.youtube.com/watch?v=ogIqayRDr4w by automatycznie zamieniany na http://www.youtube.com/v/ogIqayRDr4w

czyli skrypt musi wstawiac adres http://www.youtube.com/v/ i dokleic do niego litery pobrane z pierwszego od 24 do 36 wlacznie ignorujac dalszy ciag adresu 36<

ma ktos jakis pomysl? :|
mike
mod_rewrite - cała reszta w sieci i na forum.
Szukaj!

A za olewanie zasad pisania na forum Przedszkole dostajesz warna.

Masz poprawiś tytuł wątku na zgodny z zasadami pisania na tym forum!
Amorph
Błagam panowie Administratorzy.....
Nawet nie ma żadnego warninga?questionmark.gif?
Co to jest forum czy kącik zrób to za mnie?
Przecież on nawet nie używa opcji szukaj.....

mod_rewrite


---
Do czasu, bo już zaczął przesadzać.
Ostrzeżenie już jest.
~mike_mech
siemakuba
mod_rewrite? no chyba nie sądzicie, że to człowiek z YouTube?

@bastek8989: funkcja substr" title="Zobacz w manualu php" target="_manual pozwala na wycięcie kawałka stringa z innego stringa.

pozdr.
mike
[OT]
Cytat(siemakuba @ 13.10.2006, 12:53:07 ) *
mod_rewrite? no chyba nie sądzicie, że to człowiek z YouTube?
Nie oczywiście że tak nie sądzimy.
Wystarczy spojrzeć na prezentowany poziom tongue.gif

Bardziej traktowałem to jako przykład działania.

A, że prolem nie został dostatecznie naświetlony to potem takie cyrki wychodzą.


[/OT]

P.S.
~bastek8989 proszę raz jeszcze, zmień temat wątku na zdodny z zasadami pisania na forum Przedszkole.
Widzę że czytasz wątek ale nie reagujesz.
Athlan
Jakoże Cie znam (hehe) to coś podobnego:

  1. <?php
  2.  
  3. $sString = "http://www.youtube.com/watch?v=ogIqayRDr4w";
  4.  
  5. echo bastek_replacing($sString);
  6.  
  7. function bastek_replacing($sString)
  8. {
  9. $aArrayPatterns = array
  10. (
  11. "#http://www.youtube.com/watch?v=(.*?)#si",
  12. );
  13.  
  14. $aArrayReplaces = array
  15. (
  16. "http://www.youtube.com/v/1",
  17. );
  18.  
  19. return preg_replace($aArrayPatterns, $aArrayReplaces, $sString);
  20. }
  21.  
  22. ?>
siemakuba
No, nie chciałem podawać gotowca, ale po co taka armata?

  1. <?php
  2. $code = substr('http://www.youtube.com/watch?v=ogIqayRDr4w', 31, 11);
  3. $url2 = 'http://www.youtube.com/v/'.$code;
  4. ?>


Czy nie prościej tak?
BTW - @Athlan: jeżeli URL u ciebie będzie miał dodatkowe parametry to zostaną one również dodane po zamianie, czego bastek8989 zdaje się nie życzy sobie.

pozdr.
Athlan
Cytat(siemakuba @ 13.10.2006, 11:06:47 ) *
BTW - @Athlan: jeżeli URL u ciebie będzie miał dodatkowe parametry to zostaną one również dodane po zamianie, czego bastek8989 zdaje się nie życzy sobie.

pozdr.


  1. <?php
  2.  
  3. $sString = "http://www.youtube.com/watch?v=ogIqayRDr4w&duperele";
  4. $sString2 = "http://video.google.com/googleplayer.swf?docId=-1591729516923874694&duperele";
  5. $sString3 = "http://www.youtube.com/watch?v=_b2uFsVllpw";
  6. $sString4 = "http://video.google.pl/videoplay?docid=8114931701782010192";
  7.  
  8. echo Replacing::youtube($sString);
  9. echo'<hr>';
  10. echo Replacing::google($sString2);
  11. echo'<hr>';
  12. echo Replacing::youtube($sString3);
  13. echo'<hr>';
  14. echo Replacing::google($sString4);
  15.  
  16. class Replacing
  17. {
  18. function google($sString)
  19. {
  20. $aArrayPatterns = array
  21. (
  22. "#http://video.google.com/googleplayer.swf?docId=(.*?)#si",
  23. );
  24.  
  25. $aArrayReplaces = array
  26. (
  27. "1",
  28. );
  29.  
  30. $sReplaced = preg_replace($aArrayPatterns, $aArrayReplaces, $sString);
  31.  
  32. if(strpos($sReplaced, "&"))
  33. return (int)substr($sReplaced, 0, strpos($sReplaced, "&"));
  34. else
  35. return $sReplaced;
  36. }
  37.  
  38. function youtube($sString)
  39. {
  40. $aArrayPatterns = array
  41. (
  42. "#http://(.*?).youtube.com/watch?v=(.*?)#si",
  43. );
  44.  
  45. $aArrayReplaces = array
  46. (
  47. "http://1.youtube.com/v/2",
  48. );
  49.  
  50. $sReplaced = preg_replace($aArrayPatterns, $aArrayReplaces, $sString);
  51.  
  52. if(strpos($sReplaced, "&"))
  53. return substr($sReplaced, 0, strpos($sReplaced, "&"));
  54. else
  55. return $sReplaced;
  56. }
  57. }
  58.  
  59. ?>


sory za chaotyczność kodu (brakuje static i public'a), ale Bastek nie ma php5 na servie i nie poszło... jak coś to powinniście sobie dodać smile.gif

pozdrawiam smile.gif

edit:

co za głupi bbcode na tym forum :/ ciągle dodaje mi slashe w kodzie przez co jest źle pokolorowany... shit, daje na phpfi:
http://phpfi.com/163180
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.