Wie entkomme ich einem neuen Zeilenzeichen in einer .ini -Datei, damit Zend_Config_ini es buchstäblich liest?

StackOverflow https://stackoverflow.com/questions/2480091

Frage

Ich versuche, eine E-Mail mit mehreren Zeilen-E-Mails in einer INI-Datei mit PHP/Zend-Framework zu speichern. Meine Zeichenfolge enthält neue Zeilenzeichen, und wenn ich Zend_Config_ini verwende, um die INI -Datei zu analysieren, kommen die neuen Zeilenzeichen zurück, sodass sie auf dem Bildschirm anstelle eines Zeilenfutters ausgedruckt sind.

Beispiel:

// ini file
message = Hi {0},\n\nThis is a test message.\nGoodbye!

wird von Zend_Config_ini als: analysiert:

Hi {0},\\n\\nThis is a test message.\\nGoodbye!

Dies wird dann in der E -Mail als:

Hallo John, n nthis ist eine Testnachricht. Ngoodbye!

Stattdessen möchte ich, dass die E-Mail so aussieht:

Hallo John,

Dies ist eine Testnachricht.
Auf Wiedersehen!

Weiß jemand, wie man das erreicht? Vielen Dank!

War es hilfreich?

Lösung

Was ist mit der Verwendung von Doppelquotten Ihre Werte und mit echten Newlines wie folgt:

message = "Hi {0},

This is a test message.
Goodbye!"


Beispielsweise verwenden Sie diesen Teil des Codes:

$config = new Zend_Config_Ini(APPLICATION_PATH . '/config/application.ini');
var_dump($config->production->testmessage);
die;

Mit application.ini enthält dies:

[production]

testmessage = "this is
a new
message"

Ich bekomme die folgende Ausgabe von meinem var_dump :

string(21) "this is
a new
message"

Andere Tipps

Verwenden Sie PHP -Konstante: PHP_EOL

message = "Hi {0}," PHP_EOL PHP_EOL "This is a test message." PHP_EOL "Goodbye!"

Beachten Sie, dass das konstante php_eol in application.ini außerhalb der Anführungszeichen erscheinen muss. Ansonsten wird es als wörtliches interpretiert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top