Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przycinanie wartości zmiennej
Forum PHP.pl > Forum > Przedszkole
KrissLhasa
Witam z uwagi na to że moją przygodę z PHP rozpoczełem dosyć niedawno ciągle borykam się z dużymi (jak dla mnie) problemami.
Mianowicie mam taki problemna początku kodu pobierany jest ID_Filmu z Youtube

<?php $id_filmu=str_replace("http://www.youtube.com/watch?v=", "", $img['img']); ?>

więc zmienna $id_filmu powinna teoretycznie składać się z 11 znakowego ID np. "JsErTj77OMs"

Powinna bo jednak kod nie jest doskonały i czasami doczepiane do adresu jest "&feature=related" przez co zmienna
$id_filmu która powinna wyglądać tak 'JsErTj77OMs' wygląda tak 'JsErTj77OMs&feature=related' przez co reszta kodu nie działa. sad.gif

I tu moje pytanie czy w PHP dało by rade zrobić skrypt który by sprawdzał jak długa jest wartość zmiennej i jeśli do niej dopisany był by kod
'&feature=related' to po prostu by go "ucinał" i przypisywał sobie tylko pierwsze 11 znaków..
Kurcze wiem że troszke dziwnie to wytłumaczyłem no ale chciałem aby to było zrozumiałe smile.gif

Z góry dzięki za pomoc !
Pozdrawiam Krzysiek .
kontur
jest kilka sposobow, a nawet pewnie gotowa funkcja, aktualnie siedze w wyrazeniach regularnych wiec pierwsze co mi sie nasowa to uzycie tychze, ale chyba najprosciej bedzie po Twojemu (dziwne ze nie wpadles na to odrazu:P )

  1. $id_filmu=str_replace("http://www.youtube.com/watch?v=", "", $img['img']);
  2. $id_filmu=str_replace("&feature=related", "", $id_filmu);
  3.  


...ale to wystarczy tylko w przypadku jesli jestes pewny ze doczepiony moze byc tylko ten jeden napis "&feature=related". Jesli bywa ze w linku doczepia sie czasem jeszcze cos innego to to Ci nie zalatwi sprawy.
KrissLhasa
Drobna poprawka czasem zamiast '&feature=related' pojawia sie inna treść np. 'b=av2n' lecz zawsze 11 znakowy kod jest na początku więc najlepiej sprawdził by sie tu skrypt zapisujące pierwsze 11 znaków bo z tą treścią nie zawsze może się udać
kontur
Dobra, chodzi Ci o ta funkcje:

  1. $pierwsze_11_znakow=substr($id_filmu,0,11)
KrissLhasa
Kurcze już sie cieszyłem aż sie okazało że ID nie musi mieć 11 znaków i nieraz jest tak
http://i.ytimg.com/vi/00ikilDxW4&/default.jpg" /> i jako 11 zalicza & ohno-smiley.gif

Dało by to może ulepszyć tak aby zapisało nie pierwsze 11 tylko pierwsze 'x' aż do '&' po zawsze ID od tego niepotrzebnego kodu oddziela znak '&' ?
kontur
Cytat(KrissLhasa @ 3.05.2012, 01:04:34 ) *
Kurcze już sie cieszyłem aż sie okazało że ID nie musi mieć 11 znaków i nieraz jest tak
http://i.ytimg.com/vi/00ikilDxW4&/default.jpg" /> i jako 11 zalicza & ohno-smiley.gif

Dało by to może ulepszyć tak aby zapisało nie pierwsze 11 tylko pierwsze 'x' aż do '&' po zawsze ID od tego niepotrzebnego kodu oddziela znak '&' ?


  1.  
  2. $pierwsze_11_znakow=substr($id_filmu,0,11)
  3. if($pierwsze_11_znakow[10]=='&')
  4. {
  5. $pierwsze_10_znakow=substr($id_filmu,0,10);
  6. }
  7.  


jesli nie ma wiecej komplikacji to wystarczy, jesli sie okaze ze dalej pojawiaja sie jakies zaskakujace alternatywy to jednak wyrazenia regularne.
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.