login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP] Stukje tekst overstaan bij een explode... (Opgelost)

Offline StreetAngel - 09/11/2007 15:28 (laatste wijziging 09/11/2007 17:32)
Avatar van StreetAngelNieuw lid Het ik ben bezig met een kleine import module voor een script waar ik mee bezig ben en nu heb ik het volgende probleem.

Een string ziet er als volgt uit:

  1. <?php
  2.  
  3. $string = 'tekst, tekst, tekst, "tekst, tekst", tekst, tekst';
  4.  
  5. ?>

Nu wil ik dat alles tussen de komma in een array wordt gezet, dat doe je met de functie PHP.net: explode, maar het stukje tussen aanhalingstekens moet dus worden over geslagen waardoor ik de volgende output krijg:

  1. <?php
  2.  
  3. $array[]='tekst';
  4. $array[]='tekst';
  5. $array[]='tekst';
  6. $array[]='"tekst, tekst"';
  7. $array[]='tekst';
  8. $array[]='tekst';
  9.  
  10. ?>

in plaats van:

  1. <?php
  2.  
  3. $array[]='tekst';
  4. $array[]='tekst';
  5. $array[]='tekst';
  6. $array[]='"tekst';
  7. $array[]='tekst"';
  8. $array[]='tekst';
  9. $array[]='tekst';
  10.  
  11. ?>

Ik hoop dat het zo duidelijk is...

Mvg,

Marc

2 antwoorden

Gesponsorde links
Offline Rik - 09/11/2007 16:44 (laatste wijziging 09/11/2007 16:44)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Overgestaan ==>Overgeslaan  

Dit heb ik net ff in elkaar gezet:
  1. $sString = 'tekst, tekst, tekst, "tekst, tekst", tekst, tekst';
  2. preg_match_all('/"(.*)"/', $sString, $aMatches);
  3. foreach ($aMatches[0] as $sKey => $sValue) {
  4. $sString = str_replace($sValue, '$' . $sKey . '$', $sString);
  5. }
  6. $aParts = explode(', ', $sString);
  7. $i = 0;
  8. foreach ($aParts as $sKey => $sValue) {
  9. if ($sValue == '$'. $i . '$') {
  10. $aParts[$sKey] = $aMatches[0][$i++];
  11. }
  12. }
  13. print_r($aParts);
Offline StreetAngel - 09/11/2007 17:36 (laatste wijziging 09/11/2007 20:37)
Avatar van StreetAngel Nieuw lid Het werkt !!

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