Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Pobranie wartosci z adresu, Przekształcanie linków
marek71_33
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.02.2010

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


Mam taką funkcję

  1. function friendly_link($friendly)
  2. {
  3. preg_match_all( '/((?<==)[a-zA-Z0-9_-]*)|([a-zA-Z0-9_-]*(?=&))/' ,$friendly, $id, PREG_SET_ORDER);
  4. $id = array($id[0][0],$id[2][0],$id[4][0],$id[6][0],$id[8][0],$id[10][0],$id[12][0],$id[14][0],$id[16][0],$id[18][0]);
  5. $friendly = implode(",", $id);
  6. $friendly = preg_replace('/[,]{2,10}/', '', $friendly);
  7. return $friendly;
  8. }


ma ona zamieniać część adresu po znaku "?" to znaczy:
?a=4&id=5&e=67&p=100 ma zamienić na 4,5,67,100
Funkcja działa ale na stronie pokazuje się dłuuuuga lista błędów:
Notice: Undefined offset: 2 in C:\wamp\www\...\a.php on line 52 (.... itd aż do offset 18)
Notice: Undefined variable: id in C:\wamp\www\...\a.php on line 52

Próbowałem z parse_url i parse_str, ale kod
  1. function friendly_link($friendly)
  2. {
  3. $friendly = parse_url($friendly, PHP_URL_QUERY);
  4. $friendly = parse_str ($friendly, $tablica);
  5. $tab = array();
  6. foreach($tablica as $tab);
  7. return $tab;
  8. }

?a=4&id=5&e=67&p=100 zamienia na 4 czyli tylko pierwsza wartość

Czy ktoś może mi pomóc w tej sprawie? Siedzę nad tym i nie daje rady. A może jest inny sposób żeby osiągnąć taki efekt? Które rozwiązanie jest lepsze i gdzie jest błąd?

Ten post edytował marek71_33 1.10.2010, 07:43:19
Go to the top of the page
+Quote Post

Posty w temacie


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: 21.08.2025 - 20:31