2010-10-27 14 views
8

Otrzymałem URL strony, taki jak 'http://abc.com/test.php?a=1&b=2&c=3'. Teraz powiedziano mi, żeby zmienić wartość b na 5, aby stała się 'http://abc.com/test.php?a=1&b=5&c=3'.Zmiana pojedynczej wartości zmiennej w tekście zapytania

tj zmiana http://abc.com/test.php?a=1&b=2&c=3 do http://abc.com/test.php?a=1&b=5&c=3

Uwaga: zmienna b tutaj może odnosić się do każdej nazwy.

+0

Czy chcesz zrobić to tylko na jednej stronie lub dla tej zmiennej ciągu zapytań na wielu różnych stronach? – Dexter

Odpowiedz

20

Zastosowanie

  • parse_url() wyodrębnić ciąg zapytania z adresu URL

  • parse_str() podzielić ciąg kwerendy do tablicy

  • array_merge() aby dodać nową tablicę "b" => 5

  • http_build_query() aby ponownie zbudować ciąg kwerendy

  • pozostałe części z pierwszego etapu (protokół, host, ścieżka ...), aby ponownie zbudować pełny adres URL lub - jeśli mają rozszerzenie HTTP pecl - http_build_url() z HTTP_URL_JOIN_QUERY złagodzi znaczną część pracy.

+0

Ponieważ to pytanie jest zamknięte, ale generuje duży ruch, pomyślałem, że warto wspomnieć, że Pear ma klasę, która obsługuje to wszystko. Zobacz http://stackoverflow.com/a/33109595/3852461 – iautomation

Powiązane problemy