Bekijk Volledige Versie : eregi_replace
Matthijs de Z
16/04/03, 16:05
Hoi,
als ik in een string twee comma's naast elkaar heb staan, wil ik die graag
vervangen door , ,
Maar als ik een string inhoud zoals
GTI HOLDING
,38.00,0.29,0.25,0.20,0.12,0.30,0.30,0.30,0.29,,,, ,,,,,38.00,38.00,38.00,38.
00
heb, dan krijg ik als ik dit gebruik
$vullegeplaatsen = eregi_replace(",,",", ,",$achtereerstecomma);
deze output:
GTI HOLDING
,38.00,0.29,0.25,0.20,0.12,0.30,0.30,0.30,0.29, ,, ,, ,, 
;,,38.00,38.00,38.00,38.00
oftwel hij pakt de eerste twee comma's en de derde en vierde, maar niet die
tussen 2 en drie, terwijl die wel naast elkaar staan. Waarom pakt
eregi_replace die niet? En hoe kan ik er voor zorgen dat ie dat wel doet,
zonder er een twee eregi_replace over hen te gooien?
Groeten,
Matthijs
I <b7jnfo$1c84$1@nl-news.euro.net>, Matthijs de Z skrev:
> als ik in een string twee comma's naast elkaar heb staan, wil ik die graag
> vervangen door , ,
>
> $vullegeplaatsen = eregi_replace(",,",", ,",$achtereerstecomma);
Waarom gebruik je eregi_replace hier? Doet str_replace() wel wat je
wilt?
--
Wouter web www.uwsworld.com mail uws@xs4all.nl
so i'll be your liqour demons will drown :: and float away -- placebo
Matthijs de Z
16/04/03, 19:35
> > $vullegeplaatsen = eregi_replace(",,",", ,",$achtereerstecomma);
>
> Waarom gebruik je eregi_replace hier? Doet str_replace() wel wat je
> wilt?
Ik ga het straks eens even proberen. Ik heb het uiteindelijk op een hele
andere manier opgelost.
groeten,
Matthijs
>
> --
> Wouter web www.uwsworld.com mail uws@xs4all.nl
>
> so i'll be your liqour demons will drown :: and float away -- placebo
Daniel Tryba
16/04/03, 21:20
Matthijs de Z <haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com> wrote:
> ,38.00,0.29,0.25,0.20,0.12,0.30,0.30,0.30,0.29,,,, ,,,,,38.00,38.00,38.00,38.00
> $vullegeplaatsen = eregi_replace(",,",", ,",$achtereerstecomma);
> ,38.00,0.29,0.25,0.20,0.12,0.30,0.30,0.30,0.29, ,, ,, ,, ,,38.00,38.00,38.00,38.00
>
> oftwel hij pakt de eerste twee comma's en de derde en vierde, maar niet die
> tussen 2 en drie, terwijl die wel naast elkaar staan. Waarom pakt
> eregi_replace die niet?
Omdat die functie niet recursief werkt. BTW zoals al opgemerkt is het
gebruik van een regexp zoals jij nu doet zonde van de processor tijd.
> En hoe kan ik er voor zorgen dat ie dat wel doet, zonder er een twee
> eregi_replace over hen te gooien?
Bestuudeer reguliere expressies. /,{2,}/,/g doet wat je wilt. Zie PCRE
pattern matching op php.net hoe jet precies dient te gebruiken.
--
Daniel Tryba
Matthijs de Z
16/04/03, 21:35
> Bestuudeer reguliere expressies. /,{2,}/,/g doet wat je wilt. Zie PCRE
> pattern matching op php.net hoe jet precies dient te gebruiken.
Bedankt, ik ga daar even rondsnuffelen.
Groeten,
Matthijs
>
> --
>
> Daniel Tryba
Lennart Kraak
16/04/03, 22:50
Matthijs de Z wrote:
> als ik in een string twee comma's naast elkaar heb staan, wil ik die graag
> vervangen door , ,
> Maar als ik een string inhoud zoals
>
> GTI HOLDING
> ,38.00,0.29,0.25,0.20,0.12,0.30,0.30,0.30,0.29,,,, ,,,,,38.00,38.00,38.00,38.
> 00
>
> heb, dan krijg ik als ik dit gebruik
>
> $vullegeplaatsen = eregi_replace(",,",", ,",$achtereerstecomma);
>
> deze output:
>
> GTI HOLDING
> ,38.00,0.29,0.25,0.20,0.12,0.30,0.30,0.30,0.29, ,, ,, ,, 
> ;,,38.00,38.00,38.00,38.00
>
> oftwel hij pakt de eerste twee comma's en de derde en vierde, maar niet die
> tussen 2 en drie, terwijl die wel naast elkaar staan. Waarom pakt
> eregi_replace die niet? En hoe kan ik er voor zorgen dat ie dat wel doet,
> zonder er een twee eregi_replace over hen te gooien?
Hij doet toch precies wat je wilt?
Je hebt 9 ','s achter elkaar staat. Hij vervangt ',,' door ', ,'.
Dat is dus 4x ', ,' . Daarna blijft er nog 1 ',' staan. Voila!
Lennart
Matthijs de Z
16/04/03, 22:50
> Hij doet toch precies wat je wilt?
> Je hebt 9 ','s achter elkaar staat. Hij vervangt ',,' door ', ,'.
> Dat is dus 4x ', ,' . Daarna blijft er nog 1 ',' staan. Voila!
Ach..krijg nou wat. Ik ben ook wel lekker dom bezig!!! Ik zet er inderdaad
zelf nog een comma bij :-S ", ,"
Ik ga even in de hoek zitten....
Mazzel,
Matthijs
> Lennart
>
I <b7k9mo$av5$1@news.tue.nl>, Daniel Tryba skrev:
> Bestuudeer reguliere expressies. /,{2,}/,/g doet wat je wilt. Zie PCRE
> pattern matching op php.net hoe jet precies dient te gebruiken.
Nee, die vervangt ,,,,,, als geheel, ipv in losse delen.
--
Wouter web www.uwsworld.com mail uws@xs4all.nl
from the time we intercepted :: feels more like suicide -- placebo
Daniel Tryba
17/04/03, 01:05
uws <uws@xs4all.invalid> wrote:
>> Bestuudeer reguliere expressies. /,{2,}/,/g doet wat je wilt. Zie PCRE
>> pattern matching op php.net hoe jet precies dient te gebruiken.
>
> Nee, die vervangt ,,,,,, als geheel, ipv in losse delen.
Tsja, slecht gelezen :)
--
Daniel Tryba