login  Naam:   Wachtwoord: 
Registreer je!
 Forum

overbodige spaties weghalen

Offline Grayen - 30/12/2006 20:25 (laatste wijziging 30/12/2006 20:26)
Avatar van GrayenPHP ver gevorderde Ik erger me aan overbodige spaties met overbodige spaties bedoel ik bijvoorbeeld:

  1. <?php
  2. $string = 'bla, bla, bla';
  3. $array = explode(',', $string);
  4. foreach($array as $value)
  5. {
  6. echo $value;
  7. }
  8. ?>


geeft "bla bla bla"

terwijl ik zou willen "blablabla"

is er een mogelijkheid om die overbodige spaties met een scriptje weg te halen dus zou ik deze string hebben:

$string = " bla, bla bla ";
dan ik dan na het exploden deze twee waardes in mijn array krijg
"bla" en "bla bla" dus de spaties na en voor de laaste tekens weg halen.

weet iemand hier een oplossing voor?

bij voorbaat dank

7 antwoorden

Gesponsorde links
Offline vinTage - 30/12/2006 20:30
Avatar van vinTage Nieuw lid str of preg_replacen ?

http://be2.php.net/str_replace

of snap ik je niet ?
Offline Grayen - 30/12/2006 21:04
Avatar van Grayen PHP ver gevorderde je begrijpt me deels 

str_replace valt gelijk wel want dan zouden alle spaties wegvallen, terwijl ik alleen wil dat alle spaties voor de eerste niet-spatie verdwijnen en achter de laatste niet-spatie. Misschien dat het mogelijk is met een preg_replace of een combinatie met andere functies maar ik zou niet weten hoe dat ik mogelijk maak 
Offline NCube - 30/12/2006 21:11
Avatar van NCube HTML beginner http://www.php.net/manual/nl/function.trim.php
Dit zal je dan wel op elke waarde in de array eerst moeten toepassen.
Offline Grayen - 30/12/2006 21:35 (laatste wijziging 02/01/2007 19:24)
Avatar van Grayen PHP ver gevorderde perfect, precies wat ik zocht erg bedankt 
de enige mogelijkheid waar de waardes van de array overbodige spaties kunnen hebben is als ze zijn gemaakt door gebruik te maken van de explode functie, dus ik vervang elke explode voor een andere functie die het waarbij trim is toegepast op de array waardes die onstaan bij explode.

Ik heb nog een vraag over deze overbodige spaties weghalen, is er ook een functie om bijvoorbeeld:

"a b c"

te veranderen in

"a b c"

is namelijk nogal irritant als je op spaties wilt exploden  .
Offline timo - 02/01/2007 19:27
Avatar van timo PHP ver gevorderde om niet steeds de functie op elk element v/e array te moeten doen:
array_map()
Offline marten - 02/01/2007 19:27
Avatar van marten Beheerder "a b c"

te veranderen in

"a b c"

lijkt precies hetzelfde :S
Offline Grayen - 02/01/2007 19:31 (laatste wijziging 02/01/2007 22:52)
Avatar van Grayen PHP ver gevorderde @timo, bedankt zal ik toepassen 

ik tikte in a(spatie)(spatie)b(spatie)c(spatie) bij de eerste, alleen weergeeft hij dat natuurlijk niet  .

als er geen speciale functie voor is, weet iemand dan een regex, om alle overbodige spaties in een string weg te halen, zie voorbeeld hierboven.

edit: Ik heb het opgelost, ik plaats het maar ff als er ooit iemand komt die het zelfde wilt ;).

  1. <?php
  2. function removeExtraSpaces($sString)
  3. {
  4. return trim(preg_replace('/[ ]{2,}/', ' ', $sString));
  5. }
  6. $s = removeExtraSpaces("a b c ");
  7. $a = explode(' ', $s);
  8. echo count($a);
  9. ?>


output:

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.256s