Letters verwijderen uit string
Ik heb op mijn site een wel eens een string staan, welke in cijfers staat, maar soms staat er per ongeluk (niet door mijn toedoen) er een paar letters voor.
Heeft iemand een snel idee om de letters weg te halen?
Dus ABCD1234, moet worden 1234. Maar het kunnen ook andere letters zijn:
JHHKJHKJH324324 moet dan worden: 324324
Heeft iemand een snel idee om de letters weg te halen?
Dus ABCD1234, moet worden 1234. Maar het kunnen ook andere letters zijn:
JHHKJHKJH324324 moet dan worden: 324324
Gesponsorde koppelingen:
met een string_replace?
Zat ik ook aan te denken, maar de letter-string verschilt he...
maar je kan toch gewoon alle letters in een array stoppen
Een niet efficiƫnte manier is om door de string heen te gaan (for-loop) en controleren of het karakter een 0, 1, 2, ... of 9 is... zo niet, dan niet door laten gaan...
Extra aanvulling: kijk naar de multibyte varianties van strlen en substr: mb_strlen() en mb_substr()
Extra aanvulling: kijk naar de multibyte varianties van strlen en substr: mb_strlen() en mb_substr()
je zou ook trim kunnen gebruiken
Werkt dit niet?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$mijnString = 'DAGH1345';
$mijnString = preg_replace('/[A-Z][a-z]/', '', $mijnString);
echo $mijnString; // Wordt 1345
?>
$mijnString = 'DAGH1345';
$mijnString = preg_replace('/[A-Z][a-z]/', '', $mijnString);
echo $mijnString; // Wordt 1345
?>
Gewijzigd op 01/05/2011 17:59:02 door Wouter J
@Wouter, ik heb het even getest en het werkt niet. Er komt gewoon DAGH1345 uit.
Sorry, de code moet dan zo zijn:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$mijnString = 'DAGH1345';
$mijnString = preg_replace('/[A-Za-z]/', '', $mijnString);
echo $mijnString; // Wordt 1345
?>
$mijnString = 'DAGH1345';
$mijnString = preg_replace('/[A-Za-z]/', '', $mijnString);
echo $mijnString; // Wordt 1345
?>
Gewijzigd op 01/05/2011 19:17:45 door Pim -
geeft 12 ipv 12235234



