WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Kapa sträng i PHP (https://www.wn.se/forum/showthread.php?t=14544)

princip 2006-06-08 19:03

Är man van att bara arbeta med ASP känns PHP väldigt jobbigt.. :blink:

Har en sträng liknande "id=15&prm=" där jag behöver få ut siffrorna med PHP, men eftersom det är ett id kan det vara både en, två, tre och fyra siffror långt.

Med substr kan jag få ut "15&prm=" men hur kapar jag de fem sista tecknen i strängen?

Tacksam för hjälp...

b_andersson 2006-06-08 19:18

Använd regex, enkelt förklarat något i stil med:

Kod:

$pattern = '/id=(.+?)&prm=/';
$text = 'id=15&prm=';
preg_match( $pattern, $text, $matches );
$id = $matches[1];

Säg till om jag ska förenkla det mer.

/edit: läs mer om preg_match hos php.net

//Björn

Jonas 2006-06-08 19:22

Citat:

Originally posted by princip@Jun 8 2006, 19:03
Är man van att bara arbeta med ASP känns PHP väldigt jobbigt.. :blink:

Har en sträng liknande "id=15&prm=" där jag behöver få ut siffrorna med PHP, men eftersom det är ett id kan det vara både en, två, tre och fyra siffror långt.

Med substr kan jag få ut "15&prm=" men hur kapar jag de fem sista tecknen i strängen?

Tacksam för hjälp...

Kod:

function handleStr($str)
{
$temp = explode('&',$str);
$arr = array();
foreach($temp as $a)
{
list($var, $val) = explode('=', $a);
$arr[$var] = $val;
}
return $arr;
}
$arr = handleStr('id=15&prm=testar&mcd=max');
print_r($arr);

Dock något otestad kod.
Men den borde ge typ:
Kod:

Array
(
'arr' => 15,
'prm' => 'testar',
'mcd' => 'max'
)

För att få ut värdet så är det bara att hantera: $arr['id']

princip 2006-06-08 20:20

Tackar för snabba svar. Två lösningar på 20 minuter... :)

Fungerar klockrent, och jag har lärt mig något nytt...

Tack!


Alla tider är GMT +2. Klockan är nu 17:20.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson