/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Find en værdi i en streng, mellem to chars~
Fra : Thomas Løjmann Jørge~


Dato : 06-09-04 12:19

Hej alle!

Jeg har flg. kode:

      function remover($string, $sep1, $sep2)
{
$string = substr($string, 0, strpos($string,$sep2));
$string = substr(strstr($string, $sep1), 1);

return $string;
}

$string = "http://127.0.0.1/test.php?q=test&ie=true";
$str1 = "q";
$str2 = "ie";

echo remover($string, $str1, $str2);

Det smider cirka det retur jeg vil have, og jeg kan godt bruge det som
det er faktisk. Men sagen er den af $string også kunne indeholde
f.eks. "http://127.0.0.1/test.php?q=test&value=hest&ie=true"

og så virker den jo ikke. Jeg kan ikke få den til at returner det
mellem f.eks. q= og det næste &-tegn - kan man få den til det mon?

/Thomas

 
 
stoffer (06-09-2004)
Kommentar
Fra : stoffer


Dato : 06-09-04 13:58


> function remover($string, $sep1, $sep2)
> {
> $string = substr($string, 0, strpos($string,$sep2));
> $string = substr(strstr($string, $sep1), 1);
>
> return $string;
> }
>
> $string = "http://127.0.0.1/test.php?q=test&ie=true";
> $str1 = "q";
> $str2 = "ie";
>
> echo remover($string, $str1, $str2);
>
> Det smider cirka det retur jeg vil have, og jeg kan godt bruge det som
> det er faktisk. Men sagen er den af $string også kunne indeholde
> f.eks. "http://127.0.0.1/test.php?q=test&value=hest&ie=true"
>
> og så virker den jo ikke. Jeg kan ikke få den til at returner det
> mellem f.eks. q= og det næste &-tegn - kan man få den til det mon?

Du kan bruge funktionen parse_str:
http://www.php.net/manual/en/function.parse-str.php
Tag evt også et kig på funktionen parse_url på
http://www.php.net/manual/en/function.parse-url.php

Du kan nok lave noget i stil med (sakset fra php.net):

$tab = parse_url($string);
parse_str($tab['query'], $output);
echo $output['q'];

Det er dog ikke testet.

mvh
-stoffer



Anders K. Madsen (06-09-2004)
Kommentar
Fra : Anders K. Madsen


Dato : 06-09-04 14:57



Thomas Løjmann Jørge~ (06-09-2004)
Kommentar
Fra : Thomas Løjmann Jørge~


Dato : 06-09-04 18:37

Tak til jer begge to - jeg løste problemet med parse_str() i al fald
her i første omgang :)

/Thomas

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste