Pagina 1 van 1

Optellen van 'vervuilde' variable

Geplaatst: 20 nov 2005, 16:41
door Dennis
Ik wil wat waardes optellen.
$a = '2'
$b = '3'
Het optellen van $a + $b is niet zo'n probleem.
Maar als nu is
$a = 'Hallo 2 dit is een test'
$b = ' En dan hier 3 zomaar wat txt'

Hoe kan ik dat dan doen? Zodat ik waarde 5 krijg
thnx

Geplaatst: 20 nov 2005, 18:44
door FlorisD
Dat kan eenvoudig door met een kleine regex alle non-digit karakters eruit te filteren en daarna op te tellen:

Code: Selecteer alles

$result = preg_replace('/\\D+/', '', $subject);
of

Code: Selecteer alles

$result = ereg_replace('\\D+', '', $subject);
(volgens mij was preg meestal sneller)

Geplaatst: 20 nov 2005, 19:45
door Paul
Gewoon intval eroverheen halen :)
(Dus

Code: Selecteer alles

$a = intval($a);
:))

Geplaatst: 20 nov 2005, 20:13
door Dennis
FlorisD schreef:Dat kan eenvoudig door met een kleine regex alle non-digit karakters eruit te filteren en daarna op te tellen:

Code: Selecteer alles

$result = preg_replace('/\\D+/', '', $subject);
of

Code: Selecteer alles

$result = ereg_replace('\\D+', '', $subject);
(volgens mij was preg meestal sneller)
Thanks!

Code: Selecteer alles

$a = "This is some text and numbers 12345 and symbols !£$%^&";
$result = preg_replace('/\\D+/', '', $a);
echo  $result;
Dit werkt

Had zelf dit al geprobeerd wat ook werkt.

Code: Selecteer alles

$a = "This is some text and numbers 12345 and symbols !£$%^&";
$new_string = ereg_replace("[^0-9]", "", $a);
echo $new_string; 
Dat van paulus kreeg ik niet werkend :(

Geplaatst: 20 nov 2005, 20:56
door mosymuis
paulus schreef:Gewoon intval eroverheen halen :)
(Dus

Code: Selecteer alles

$a = intval($a);
:))
Nee, intval bekijkt altijd het eerste karakter, en zal dus 0 geven.