Zum Inhalt springen

suchen / ersetzen php


Gast JDK

Empfohlene Beiträge

Hallo,

hab einen csv String...

bla,bla,"bla,bla,bla",bla,bla,"bla,bla",bla

..jetzt möchte ich mit explode($meinString,",") den String nach Kommas trennen, aber nur nach Kommas die nicht zwischen " " stehen. Wie mach ich das am elegantesten?

Vielen Dank

Jens

Link zu diesem Kommentar
Auf anderen Seiten teilen

Well, mir fällt grad nix blöderes ein, als den String mal nach \" zu exploden und dann, jenachdem, ob am anfang des strings ein " vorkam alle ungeraden, andernfalls alle geraden Arrayelemente nochmal nach Komma zu trennen und das ganze zum Ergebnis-Array hinzufügen:


//$meinString enthält das zu splittende Array


//nach " trennen
$tmp_1 = explode($meinString , "\"");

//wenn der erste Teil kein "bla,bla" war, dann nimm alle geraden Elemente
//ansonsten fange erst beim nächsten an und kopiere das erste "bla,bla" samt
//Anführungszeichen ins Ergebnis-Array
if (strpos($meinString,"\"") > strpos($meinString,",") )
$i = 0;
else {
array_push($erg, "\"".$tmp_1[0]."\"");
$i = 1;
}

if (; $i < count($tmp_1); $i+=2) {

//"Normale" Teile ohne " nach Komma trennen und ins Ergebnis pushen
$tmp_2 = explode($tmp_1[$i] , ",");
foreach ($tmp_2 as $tmp_3)
array_push($erg,$tmp_3);

//Wenn danach noch ein "-Teil kommen könnte, diesen mit " ins Ergebnis
if ($i+1 < count($tmp_1)
array_push($erg, "\"".$tmp[$i+1]."\"");
}
[/PHP]

Sorry, Code ist unübersichtlich, aber ich hab net soviel Zeit gehabt

HTH

mfg kLeiner_HobBes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...