Heim >Backend-Entwicklung >PHP-Tutorial >Wie entferne ich doppelte Anführungszeichen in Feldern einer CSV-Datei?

Wie entferne ich doppelte Anführungszeichen in Feldern einer CSV-Datei?

DDD
DDDOriginal
2024-12-08 19:01:10959Durchsuche

How Do I Escape Double Quotes Within Fields in a CSV File?

Doppelte Anführungszeichen in CSV maskieren

Die Notwendigkeit, doppelte Anführungszeichen in CSV zu maskieren, entsteht, wenn ein Feld in Anführungszeichen ein wörtliches doppeltes Anführungszeichen enthält. Dies kann zu Analysefehlern führen, da der Parser das maskierte Anführungszeichen möglicherweise als Feldtrennzeichen interpretiert.

Im angegebenen Beispiel enthält die CSV-Zeile einen Feldwert, der den Ausdruck „24“ gefolgt von einem doppelten Anführungszeichen enthält . Das Anführungszeichen wird verwendet, um Zoll auszudrücken, aber der CSV-Parser interpretiert es fälschlicherweise als Ende des Feldes.

Um das doppelte Anführungszeichen korrekt zu maskieren, verwenden Sie zwei aufeinanderfolgende doppelte Anführungszeichen innerhalb des Feldwerts. Dadurch wird dem Parser mitgeteilt, dass das zweite Anführungszeichen Teil der Felddaten und nicht das Feldtrennzeichen ist. Die richtige CSV-Zeile wäre:

"Samsung U600 24""","10000003409","1","10000003427"

Die Verwendung eines einzelnen Backslashs vor dem doppelten Anführungszeichen ist falsch, da dadurch der Backslash selbst und nicht das doppelte Anführungszeichen maskiert wird.

RFC-4180, In dem das CSV-Format definiert wird, heißt es: „Wenn doppelte Anführungszeichen zum Einschließen von Feldern verwendet werden, muss ein doppeltes Anführungszeichen, das innerhalb eines Felds erscheint, maskiert werden, indem ihm ein weiteres doppeltes Anführungszeichen vorangestellt wird.“ Zitat."

Das obige ist der detaillierte Inhalt vonWie entferne ich doppelte Anführungszeichen in Feldern einer CSV-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn