Wie wird eine mehrzeilige Zeichenkette aufgelöst?

7

PHP - Ich habe eine Zeichenfolge, die auf jeder Zeile unterschiedliche Werte hat:

%Vor%

Ich möchte die ganze Zeichenfolge in ein Array, bestehend aus den getrennten Werten, explodieren. Ich weiß, wie man eine durch Leerzeichen getrennte Zeichenkette wie explode(' ', $matches) explodiert. Aber wie verwende ich die explode-Funktion für diese Art von String?

Ich habe es versucht:

%Vor%

Aber das Ergebnis ist wie folgt:

%Vor%     
Sujit Agarwal 28.05.2011, 16:32
quelle

2 Antworten

23

Sie müssen '\n' in "\n" ändern.

Von PHP.net :

  

Wenn die Zeichenfolge eingeschlossen ist   doppelte Anführungszeichen ("), wird PHP interpretieren   mehr Escape-Sequenzen für spezielle   Zeichen:

     

\ n Zeilenvorschub (LF oder 0x0A (10) in ASCII)
Mehr ...

    
Tim Cooper 28.05.2011, 16:34
quelle
5

Lesen Sie Handbuch

  

Hinweis: Im Gegensatz zum doppelt zitierten und   Heredoc-Syntaxen, Variablen und Escape   Sequenzen für Sonderzeichen werden   nicht erweitert werden, wenn sie auftreten   einzelne Strings in Anführungszeichen.

Verwenden Sie also "\ n" anstelle von "\ n"

Außerdem können Sie anstelle von \n die Konstante PHP_EOL verwenden.
Im Windows kann "\ r \ n" als Zeilenende verwendet werden, für diesen Fall können Sie doppelt ersetzen:
$matches=explode("\n", str_replace("\r","\n",$matches));

    
OZ_ 28.05.2011 16:38
quelle

Tags und Links