[PHP] waarde tussen ' en ' ophalen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb eeb variabele ($string) met de volgende waarde:

$string = "blaaat('1', '2', '3', '5')"

nu wil de de waarden 1, 2, 3 en 5 in een array zien te zetten.

array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 5;

Ik heb van alles geprobeert, split, explode, strtok en ga zo maar door....
Helaas zonder succes.... Iemand anders die me wel succes kan opleveren?

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

waarom zou split of strtok niet werken? Ok, je krijgt geen kant-en-klare array terug, maar je moet er toch wel wat mee kunnen doen imho

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • itsme
  • Registratie: Februari 2000
  • Niet online
Volgens kun je gewoon $string[0] boor de 1 etc gebruiken ... toch?

Nothing to see here


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
its_me schreef op 06 February 2003 @ 23:22:
Volgens kun je gewoon $string[0] boor de 1 etc gebruiken ... toch?
de "$string" is een gehele zin, en bestaat niet uit delen (nog niet)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
.oisyn schreef op 06 February 2003 @ 23:21:
waarom zou split of strtok niet werken? Ok, je krijgt geen kant-en-klare array terug, maar je moet er toch wel wat mee kunnen doen imho
Zou je er iets meer hulp mee kunnen geven, heb van alles geprobeert maar kom er niet uit

Acties:
  • 0 Henk 'm!

Verwijderd

Delete eerst het stuk tussen 0 en strpos($string,"'"), en zet vervolgens in een while loopje een code die mbv strpos steeds stukjes kopieert/delete en het resultaat in een array zet. Puzzel zelf maar wat aan, heb geen zin om een kant en klaar script voor je te schrijven :)

[edit]
Je delete dus gewoon steeds tot de eerstvolgende ' (positie bepaal je mbv strpos), vervolgens kopieer je de lap text die volgt t/m de volgende ', dan delete je alle tekst t/m de volgende ' en dan begint het loopje weer overnieuw :)

[ Voor 33% gewijzigd door Verwijderd op 06-02-2003 23:27 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 06 February 2003 @ 23:25:
Delete eerst het stuk tussen 0 en strpos($string,"'"), en zet vervolgens in een while loopje een code die mbv strpos steeds stukjes kopieert/delete en het resultaat in een array zet. Puzzel zelf maar wat aan, heb geen zin om een kant en klaar script voor je te schrijven :)

[edit]
Je delete dus gewoon steeds tot de eerstvolgende ' (positie bepaal je mbv strpos), vervolgens kopieer je de lap text die volgt t/m de volgende ', dan delete je alle tekst t/m de volgende ' en dan begint het loopje weer overnieuw :)
WOEIIIIIIIIIII
Going to try thissss

Acties:
  • 0 Henk 'm!

  • PrinsEdje80
  • Registratie: Oktober 2001
  • Laatst online: 15-07 09:34

PrinsEdje80

Holographic, not grated...

Dit is nog erg lastig lijkt me. Als je nu een preg_replace oid doet, die de single quotes vervangt door niets?

Used to be Down Under... Foto gallery


Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 22:59

chem

Reist de wereld rond

dat is helemaal niet lastig
PHP:
1
2
preg_match("/blaaat\((.*?)\);/si",$string,$matches);
print_r(explode(","str_replace("'",'',$matches[1])));
bv.?

PHP:
1
2
preg_match_all("/('(.*?)'(,\s*)?);/si",$string,$matches,PREG_PATTERN_ORDER);
print_r($matches);
bv. 2? (ongetest)

[ Voor 31% gewijzigd door chem op 07-02-2003 08:40 ]

Klaar voor een nieuwe uitdaging.

Pagina: 1