alleen ints uit string halen en achter elkaar zetten
Ik heb een grote string met nummers van lengtes tussen 5 en 10 en een voor en achternaam
zeg maar exact op deze manier:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$strin='143034 Rick achternaam
62360312 elisabeth blabla
1043424211 Jeroen censored';
?>
$strin='143034 Rick achternaam
62360312 elisabeth blabla
1043424211 Jeroen censored';
?>
Nu wil ik alle nummers in een array zetten, dus dat het uiteindelijk zo wordt:
143034,62360312,1043424211,
zodat ik ermee kan werken.
Weet iemand hoe ik dit doe?
ik dacht aan explode space, maar zoals je ziet:
143034=[0] Rick=[1] achternaam
62360312=[2] elisabeth=[3] blabla[=4]
is [2] achternaam en het nummer :s
help
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$strin='143034 Rick achternaam
62360312 elisabeth blabla
1043424211 Jeroen censored';
preg_match_all('!\d+!', $strin, $matches);
print_r($matches);
?>
$strin='143034 Rick achternaam
62360312 elisabeth blabla
1043424211 Jeroen censored';
preg_match_all('!\d+!', $strin, $matches);
print_r($matches);
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$string = '143034 Rick achternaam 62360312 elisabeth blabla 1043424211 Jeroen censored';
$array = explode(' ', $string);
$newarray = array();
foreach($array as $item)
{
// Kijk of het item TRUE teruggeeft en zet het in de nieuwe array, anders niets doen
(is_numeric($item) ? $newarray[] = $item : '');
}
print_r($newarray);
?>
$string = '143034 Rick achternaam 62360312 elisabeth blabla 1043424211 Jeroen censored';
$array = explode(' ', $string);
$newarray = array();
foreach($array as $item)
{
// Kijk of het item TRUE teruggeeft en zet het in de nieuwe array, anders niets doen
(is_numeric($item) ? $newarray[] = $item : '');
}
print_r($newarray);
?>
Output als string of als array.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$strin='143034 Rick achternaam
62360312 elisabeth blabla
1043424211 Jeroen censored';
echo onlyNumericWords($strin, false);
echo '<hr>';
print_r (onlyNumericWords($strin, true));
function onlyNumericWords($string, $return_array = false) {
$words = preg_split('/\s+/', $string); // komt neer op: explode(ANY_WHITESPACE, $string)
$result_array = array();
$result_string = '';
foreach ($words as $word) {
if (false == is_numeric($word)) {
continue;
}
$result_array[] = $word ;
$result_string .= ' ' . $word ;
}
return $return_array ? $result_array : $result_string;
}
?>
$strin='143034 Rick achternaam
62360312 elisabeth blabla
1043424211 Jeroen censored';
echo onlyNumericWords($strin, false);
echo '<hr>';
print_r (onlyNumericWords($strin, true));
function onlyNumericWords($string, $return_array = false) {
$words = preg_split('/\s+/', $string); // komt neer op: explode(ANY_WHITESPACE, $string)
$result_array = array();
$result_string = '';
foreach ($words as $word) {
if (false == is_numeric($word)) {
continue;
}
$result_array[] = $word ;
$result_string .= ' ' . $word ;
}
return $return_array ? $result_array : $result_string;
}
?>
Gewijzigd op 30/11/2012 11:22:25 door Kris Peeters
whoa thx!