[php]string opsplitten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey,

ik heb een variabele ($content), het is een string, met als inhoud
"blabla-hoi hoe gaat het - blab lab - lol hoi - lodaasdfsewa - asdf avaww a- asdfa24 sad - asdfa - asdfa - asd"

(zoiets dan)

Nu wil ik dat ik het eerste gedeelte (dus voor het eerste streepje) kan oproepen met $content[1]. Het tweede met $content[2], enzovoord. Het aantal items kan verschillen, dus list met explode kan ik niet gebruiken.

Hoe kan ik dit het beste aanpakken?

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:44

crisp

Devver

Pixelated

waarom kan je explode niet gebruiken? Je kan daarna toch kijken hoeveel items je in je array hebt?

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
de combinatie list en explode kan ik niet gebruiken, want het aantal is variabel:

list($content[1], $content[2], $content[3]) = explode("-",$content);

je weet niet hoeveel er nodig zijn

Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20:32
Is
PHP:
1
$array = split($string, "-");

niet wat jij nodig hebt?

bij split geef je eerst de string als een variabele voor het gemak, dan het teken waarop hij de string moet splitsen (in dit geval het streepje) en als het goed is kan je alle stukjes opvragen met $array[0], $array[1] enzovoorts :)

edit:

tiepvaut

[ Voor 7% gewijzigd door Morax op 18-01-2004 18:01 ]

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dan krijg ik de error Warning: split(): REG_BADRPT in /home/httpd/vhosts/webdesigntools.nl/httpdocs/test/test.php on line 28

Ik dacht dat dit een error van een regulag expression was, maar wat kan er dan fout zijn?

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

explode geeft een array terug, dus je hebt heel die list-functie niet nodig.
split wil graag een regexp hebben en dat is enorme overkill voor wat je hier toont.

Acties:
  • 0 Henk 'm!

  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 00:22

BrZ

Verwijderd schreef op 18 januari 2004 @ 18:18:
Dan krijg ik de error Warning: split(): REG_BADRPT in /home/httpd/vhosts/webdesigntools.nl/httpdocs/test/test.php on line 28

Ik dacht dat dit een error van een regulag expression was, maar wat kan er dan fout zijn?
De fout is dat jij klakkeloos alles over neemt zonder even verder te kijken dan je neus lang is. Als je ook maar heel even naar www.php.net gegaan was zie je dat de syntax van split door Morax per ongeluk omgewisseld is...

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op 18 januari 2004 @ 18:18:
Dan krijg ik de error Warning: split(): REG_BADRPT in /home/httpd/vhosts/webdesigntools.nl/httpdocs/test/test.php on line 28

Ik dacht dat dit een error van een regulag expression was, maar wat kan er dan fout zijn?
http://php.net/split > argumenten omdraaien dus

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
thnx man.. nu werkt het ;)

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Tip: preg_split(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to split(). If you don't require the power of regular expressions, it is faster to use explode(), which doesn't incur the overhead of the regular expression engine.
:)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20:32
Sorry, hij moest andersom *insert shame smilie*
Eerst het splitsteken, dan pas de string, dus:
PHP:
1
$array = split("-", $string);


Dat werkt hier bij mij goed in ieder geval :)

EDIT: spuit 11 :(

[ Voor 9% gewijzigd door Morax op 18-01-2004 18:30 ]

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • _Sunnyboy_
  • Registratie: Januari 2003
  • Laatst online: 19-09 14:58

_Sunnyboy_

Mooooooooooooooooo!

split is stukken trager dan explode, en in dit geval heb je genoeg aan explode (zoals ACM ook al zei), dus explode gebruiken!

Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life

Pagina: 1