Gå til innhold

[LØST] et regex problem


Anbefalte innlegg

Skrevet (endret)

Hei.

 

jeg har et lite problem med regex. Jeg ønsker å hente ut hver del av en url som er imellom = og &.

Har prøvd men får det ikke til.

 

For å skildre det jeg forsøker å få til her kommer et eksempel.

 

eks: index.php?side=test&test=3&asd=asd

osv.

 

Altså jeg vil hente value fra hvert element i url'en.

 

edit:

Denne koden virker sånn som jeg vil. Takk til mikaelb på norskwebforum. :)

 

<?php
$url = 'index.php?side=test&test=3&asd=asd';
$match = array();
preg_match_all('/=([^&]+)/', $url, $match);
print_r($match[1]);
?>

Endret av KiLLerZ
Videoannonse
Annonse
Skrevet (endret)

Dette gjøres uten regex, du bruker $_GET['side'] - $_GET['test'] - $_GET['asd']

Endret av Jarmo
Skrevet

Jeg forklarte ikke godt nok.

 

La meg prøve på nytt. :p

 

Problemet mitt er at det skifter på hvor mange elementer det er samt navnet på de.

Skrevet
Jeg forklarte ikke godt nok.

 

La meg prøve på nytt. :p

 

Problemet mitt er at det skifter på hvor mange elementer det er samt navnet på de.

Jeg vet dessverre ikke regex for det, men du kan jo bruke $_SERVER['QUERY_STRING'] og bruke explode på den :)

Skrevet (endret)

Trenger ikke bruke $_SERVER['QUERY_STRING'] og explode.

 

$_GET er jo et array, så man kan bruke foreach() for å gå igjennom hele arrayet.

 

<?php

foreach ( $_GET as $key => $val ) {

/**
 * Do some stuff ...
 */

}

?>

Endret av BigJackW
Skrevet
Trenger ikke bruke $_SERVER['QUERY_STRING'] og explode.

 

$_GET er jo et array, så man kan bruke foreach() for å gå igjennom hele arrayet.

*Dunke seg selv i hodet med noe hardt*

 

Du har selvfølgelig helt rett!, my bad.

Skrevet

Det skal nevnes at metoden som vises i førsteposten i denne tråden er en åndssvak måte å hente ut data fra en URL på. Som BigJackW nevner bør man mye heller bruke $_GET, som blir definert for hver eneste sidevisning uten at man trenger å kjøre en regex på URL'en. Hvis man skal hente ut URL-variabler fra en gitt string, så finnes det også en funksjon for dette, nemlig parse_str(). :)

Skrevet (endret)

Det som var problemet mitt er at det ligger i en string, ikke direkte i url.

Burde kanskje sagt det i førstepost, men falt meg ikke inn der og da. :p

 

 

edit.

Leste ikke hele posten til lokaltog. Skal se på den funksjonen til senere bruk. :)

Endret av KiLLerZ

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...