Kjapp og trygg hosting for Wordpress

Regular expressions spørsmål

clinton4

Medlem
Hei,

La oss si at jeg har følgende linjer:

10,00 kr
15,0 kr
30 kr
40kr

Hvordan blir regular expression oppsettet hvis jeg alltid skal hente ut tallene her?

F.eks.

10,00
15,0
30
40
 

drlinux

Konsulent i PHP og Linux
PHP:
$pattern = '/\d+,?\d*/';

En eller flere tall
etterfulgt av null eller et komma
etterfulgt av 0 til flere tall

Denne burde gjøre det, for bruk i preg_match() e.l.

Sett parentes rund "\d+,?\d*" hvis du vil fange det opp i $matches arrayet
 
Sist redigert:

adeneo

Medlem
Doktoren har alltid rett (eller var det kunden?).

Må bare legge til at personlig ville jeg heller brukt trim(str_ireplace('kr','', $tall))

Test:

PHP:
$a = array('10,00 kr', '15,0 kr', '30 kr', '40kr');
$a2 = array();

foreach($a as $b) {
    $c=trim(str_ireplace('kr','', $b));
    $a2[] = $c;
}

print_r($a2);
 

clinton4

Medlem
Takk for den drlinux :)

Eksemplet jeg ga var bare en liten del av kaka, så trim og str_ireplace lar seg ikke gjøre i mitt tilfellet.
 
Topp