preg_split + trim
Rene Zwolsman
10/01/2009 11:40:00Ik heb een tekstbestand waarin tekst staat met 1 of meerdere spaties tussen de woorden en waarin regeleinden (enter) zijn opgenomen. Van dit bestand wil ik de woorden in een array stoppen. Dit doe ik met de volgende code:
Is de trim functie nog beter te combineren met de preg_split? Ik ben ook nog bezig geweest met foreach maar daar kwam ik niet uit... Mijn vraag is dus eigenlijk: kan het met minder code en is er een betere oplossing?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$f = file_get_contents("tekstbestand.txt");//open file en lees als string in
$f = preg_split("/[ \\n]+/",$f,-1,PREG_SPLIT_NO_EMPTY);//split het bestand op een of meerdere spaties
$num = count($f);//aantal woorden in string
for($n = 0; $n < $num; $n++)
{
$f[] = trim($f[$n]);//haal van elk woord de spaties etc eraf.
}
print_r($f);
?>
$f = file_get_contents("tekstbestand.txt");//open file en lees als string in
$f = preg_split("/[ \\n]+/",$f,-1,PREG_SPLIT_NO_EMPTY);//split het bestand op een of meerdere spaties
$num = count($f);//aantal woorden in string
for($n = 0; $n < $num; $n++)
{
$f[] = trim($f[$n]);//haal van elk woord de spaties etc eraf.
}
print_r($f);
?>
Is de trim functie nog beter te combineren met de preg_split? Ik ben ook nog bezig geweest met foreach maar daar kwam ik niet uit... Mijn vraag is dus eigenlijk: kan het met minder code en is er een betere oplossing?
Gewijzigd op 01/01/1970 01:00:00 door Rene Zwolsman
PHP hulp
25/11/2024 17:14:17Han eev
10/01/2009 11:58:00Je kan kijken naar de functie array_map daarmee kan je de for lus mee wegwerken. Voor de rest valt er niet heel veel op te schonen.