[PHP] eregi_replace serie spaties > 1 spatie

Pagina: 1
Acties:

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Het volgende doet zicht voor :
Ik heb een string "kol1     kol2    kol3         kol4"
Nu wil ik dat die serie spaties vervangen wordt door 1 spatie dus
"kol1 kol2 kol3 kol4"

Dit moet natuurlijk met eregi_replace . Maar van die reguliere expressies heb ik nog geen kaas gegeten. Ik heb alle topics al bekeken en ook al gezocht, maar helaas.

iemand ?
Dit is natuurlijk een inkoppertje toch ?

  • Orphix
  • Registratie: Februari 2000
  • Niet online
"kol1 kol2 kol3 kol4" ==>
"kol1 kol2 kol3 kol4" :?
volgens mij zijn ze gewoon hetzelfde?

Als je meerdere spaties wil vervangen door 1 spatie moet je dit doen:
preg_replace("/\s+/", " ", $string)

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Ja ze lijken hetzelfde in html.
Maar dit werkt super !
Maar als ik nu alleen iets weil vervangen als er 2 spaties achterelkaar staan |space;space| > |@| bv ?
Weet jij een goede site waar ik hier mee over kan leren en van voren af aan begint ?

Dat moet zo :
PHP:
1
<?$res[$nr] = preg_replace("/\s\s+/", "@@", trim($res[$nr]));?>

  • tomato
  • Registratie: November 1999
  • Niet online
vgouw: Weet jij een goede site waar ik hier mee over kan leren en van voren af aan begint ?
Even zoeken op 'regular expression tutorial' ofzo, zijn er genoeg. Schrik trouwens niet van regex tutorials die op perl gericht zijn, zeker als je PCRE in PHP gebruikt zijn ze gewoon heel nuttig.

Verder natuurlijk www.php.net/pcre

Verwijderd

hoezo natuurlijk met eregi_replace, waarom niet gewoon str_replace ?
PHP:
1
<?$string = str_replace("     "," ",$string);?>

? of denk ik nou verkeerd?

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
Ik denk van wel Roel, want volgens mij is het aantal spaties onbekend.

  • DeTeraarist
  • Registratie: November 2000
  • Laatst online: 25-08 11:32

DeTeraarist

#Boots2Asses

Dan doe je toch gewoon:
PHP:
1
<?str_replace("  ", " ", $dingest);?>

Op deze manier haalt ie alle dubbele spaties weg en vervangt hem door een enkele spatie. Als er dan weer een dubbele spatie ontstaat, wordt deze ook weer gereplaced door een enkele spatie.
Ik weet alleen niet of   hetzelfde is als een " " in een str_replace.

Soms, als ik heel stil ben, kan ik de zon horen schijnen


  • Grum
  • Registratie: Juni 2001
  • Niet online
DeTeraarist: Als er dan weer een dubbele spatie ontstaat, wordt deze ook weer gereplaced door een enkele spatie.
Ik weet alleen niet of   hetzelfde is als een " " in een str_replace.


Beide 'nee' :)
code:
1
2
$str = 'aaaa   aaaa';
print str_replace('  ', ' ', $str);

output
code:
1
2
3
aaaa  aaaa
ipv
aaaa aaaa

  • DeTeraarist
  • Registratie: November 2000
  • Laatst online: 25-08 11:32

DeTeraarist

#Boots2Asses

Op donderdag 04 april 2002 15:54 schreef Grum het volgende:
DeTeraarist: Als er dan weer een dubbele spatie ontstaat, wordt deze ook weer gereplaced door een enkele spatie.
Ik weet alleen niet of   hetzelfde is als een " " in een str_replace.


Beide 'nee' :)
code:
1
2
$str = 'aaaa   aaaa';
print str_replace('  ', ' ', $str);

output
code:
1
2
3
aaaa  aaaa
ipv
aaaa aaaa
Oops, je hebt helemaal gelijk.
Het leek hier in eerste instantie eigenlijk wel te werken, maar toen keek ik alleen maar naar de output in IE. En die doet zelf die spaties bij elkaar voegen.
Conclusie: verder kijken als je IE venster groot is :P.

Soms, als ik heel stil ben, kan ik de zon horen schijnen


Verwijderd

PHP:
1
<?$oud = "";while($oud != $string){  $oud = $string;  $string = str_replace("  "," ",$string);}?>

zo dan? :P
Pagina: 1