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
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Pierwsze i najgorsze co zrobiles to kazales wyłączyc "NOTKI" - już samo to to głupota. TO nie zadna notka, To pelno prawny blad, uznawany za php malo wazny, ale dla programisty mowi bardzo wiele, wiec pod zadnym pozorem nie mozna go wyłączac a pisac tak, by się nie wyswietlal (IMG:style_emoticons/default/smile.gif)

Cytat
otki informujące cię że używasz indeksów tablic bez wcześniejszej ich deklaracji
a spowodowane to jest blednym wyrazeniem regularnym i te NOTKI o tym mowią. Ale ty kazesz je wyłączyc,zapomniec o problemie (a problem przeciez nadal jest, nawet z wylaczonymi NOTKAMI) i mowisz ze to jest to samo co ja mowie.... (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 23:07