[php]Alle spaties verwijderen

Pagina: 1
Acties:
  • 211 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
Ik heb een $var="item1 item2 item3 item4"; Nu wil ik in $var alle spaties behalve 1 verwijderen.

dus resultaat moet worden $var="item1 item2 item3 item4";

Nu komt het vreemde:
De manier die nu gebruikt word explode op spaties, waarbij ik dus ook een spatie als resultaat terug krijg, omdat er een spatie tussen spaties staat. als ik nu trim() op spatie, negeert hij de resultaten waarbij maar 1 spatie staat.

Volgens mij kan het op een makelijker manier, maar ik zie niet hoe!

I reject your reality and substitute my own!


Acties:
  • 0 Henk 'm!

  • Glashelder
  • Registratie: September 2002
  • Niet online

Glashelder

Anti Android

Ben hier een tijdje geleden mee bezig geweest.
PHP:
1
$NewContent = ereg_replace("[[:space:]]+", " ", $content);

PV 4915wp op oost, 2680 wp op west, 1900 wp op zuid. pvoutput - AUX 8 kW bi bloc


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

of PCRE:
PHP:
1
$var = preg_replace('/ {2,}/', ' ', $var);

[ Voor 4% gewijzigd door crisp op 14-06-2006 10:54 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
Kan iemand mij misschien uitleggen hoe die wildcards binnen deze functies werken ? ik heb al wat zitten googlen, maar heb niks gevonden. ook PHP.net ging er verder niet op in!

I reject your reality and substitute my own!


Acties:
  • 0 Henk 'm!

  • Glashelder
  • Registratie: September 2002
  • Niet online

Glashelder

Anti Android

http://www.phpfreakz.nl/artikelen.php?aid=8

edit: damn het lijkt zo echt wel alsof ik niks te doen heb he :X

[ Voor 45% gewijzigd door Glashelder op 14-06-2006 12:45 ]

PV 4915wp op oost, 2680 wp op west, 1900 wp op zuid. pvoutput - AUX 8 kW bi bloc


Acties:
  • 0 Henk 'm!

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05 09:40

GX

Nee.

Gewoon PCRE leren:

http://nl3.php.net/manual/en/ref.pcre.php

Ik snap de heil van de eregi-varianten nog niet helemaal.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Werkt dit niet veel sneller:
PHP:
1
$var = str_replace('  ',' ',$var); // arg 1 is dubbele spatie, arg 2 is enkele spatie

Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 19-09 09:34

thomaske

» » » » » »

stekkel schreef op woensdag 14 juni 2006 @ 15:47:
Werkt dit niet veel sneller:
PHP:
1
$var = str_replace('  ',' ',$var); // arg 1 is dubbele spatie, arg 2 is enkele spatie
Dit gaat volgens mij fout als er bijvoorbeeld 6 spaties achterelkaar staan. 6 spaties worden er 3, dan stoptie met replacen

[ Voor 11% gewijzigd door thomaske op 14-06-2006 15:49 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
thomaske schreef op woensdag 14 juni 2006 @ 15:49:
[...]


Dit gaat volgens mij fout als er bijvoorbeeld 6 spaties achterelkaar staan. 6 spaties worden er 3, dan stoptie met replacen
Volgens mij doet die dat niet maar heb ff geen tijd om het te testen.

Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
$var = preg_replace("/[\s]{2,}/", " ", $var);


met regular expressions moet het lukken

[ Voor 14% gewijzigd door Verwijderd op 14-06-2006 16:09 ]


Acties:
  • 0 Henk 'm!

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05 09:40

GX

Nee.

Verwijderd schreef op woensdag 14 juni 2006 @ 16:03:
PHP:
1
$var = preg_replace("/[\s]{2,}/", " ", $var);


met regular expressions moet het lukken
Nee, \s is ook enters en tabs, alle whitespace zogezegd.

Acties:
  • 0 Henk 'm!

  • Pyrus
  • Registratie: November 2001
  • Laatst online: 20-09 21:30

Pyrus

Hardknock life

Verwijderd schreef op woensdag 14 juni 2006 @ 16:03:
PHP:
1
$var = preg_replace("/[ ]{2,}/", " ", $var);


met regular expressions moet het lukken
@GX

PHP:
1
$var = preg_replace("/[ ]{2,}/", " ", $var);

Dan lijkt me?
Of denk ik te simpel?

[ Voor 10% gewijzigd door Pyrus op 14-06-2006 19:44 ]

LinkedIn


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Waarom speciaal een characterclass gebruiken als je maar op 1 karakter wilt matchen?

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

Doet trim() niet wat je wilt dat t doet? of staan de items al in een var voor ze bewerkt worden? :p

http://nl3.php.net/preg_replace zie voorbeeld 6.
Voorbeeld 6. Strip whitespace

This example strips excess whitespace from a string.
PHP:
1
2
3
4
5
6
<?php
$str = 'foo  o';
$str = preg_replace('/\s\s+/', ' ', $str);
// This will be 'foo o' now
echo $str;
?>

[ Voor 83% gewijzigd door RSpliet op 14-06-2006 20:13 ]

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
crisp schreef op woensdag 14 juni 2006 @ 19:51:
Waarom speciaal een characterclass gebruiken als je maar op 1 karakter wilt matchen?
Waarom moeilijk doen als jij al een correct preg_replace() voorbeeld gegeven hebt? :Y)

{signature}


Acties:
  • 0 Henk 'm!

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05 09:40

GX

Nee.

Pyrus schreef op woensdag 14 juni 2006 @ 19:44:
[...]


@GX

PHP:
1
$var = preg_replace("/[ ]{2,}/", " ", $var);

Dan lijkt me?
Of denk ik te simpel?
Ja, dat wel, zie ook de 3e post van deze topic ;)
Pagina: 1