Ersetzen 
 mit <br> vor dem drucken von XML-Inhalt mithilfe von SimpleXML
Ich weiß, es ist wahrscheinlich eine sehr einfache Frage, aber noch habe ich keine Lösung finden...
Ok, ich werde kurz sein:
angenommen, eine so strukturierte XML-Datei:
<root><item><text>blah blah blah
blah blah blah
blah blah blah
...</text></item></root>
Meine XML ist natürlich komplexer, aber das ist nicht wichtig, da meine Frage ist:
wie Ersetze ich diese 
mit, zum Beispiel, html - <br>
tags?
Bin ich mit SimpleXML Lesen von Daten aus XML-und versucht mit:
echo str_replace("
", "<br>", $message->text);
und sogar mit:
echo str_replace("\n", "<br>", $message->text);
aber nichts...
Muss ich verwenden SimpleXML für diese.
Du musst angemeldet sein, um einen Kommentar abzugeben.

stellt den ASCII "carriage return" - Zeichen (ASCII-code13
, dieD
im hexadezimal), manchmal geschrieben als"\r"
eher als die "linefeed" - Zeichen,"\n"
(die ASCII -10
oderA
in hex). Beachten Sie, dass bei SimpleXML wird gebeten, für den string-Inhalt des node (mit(string)$node
oder implizit mit Aussagen wieecho $node
) es wird sich dieses "Wesen" in das eigentliche Zeichen darstellt.Je nach Plattform (Windows, Linux, MacOS, etc), die standard-Linie-Ende, erreichbar über die integrierte Konstante
PHP_EOL
werden entweder"\n"
,"\r\n"
oder"\r"
.Der sicherste Weg, ersetzen Sie diese mit HTML-Zeilenumbruch-tags (
<br>
) ist zu ersetzen alle diese Zeichen, da Sie nicht wissen, welche Konvention die Quelle der XML-Daten verwendet wurde.PHP verfügt über eine eingebaute Funktion, die sollte in der Lage sein, dies für Sie tun, genannt
nl2br()
. Wenn Sie möchten, eine leicht angepasste version, gibt es einen Kommentar in der Dokumentation von "ngkongs" zeigt, wie die Verwendungstr_replace
ähnlichen Effekt.echo nl2br($message->text);
wäre eine bessere Lösung ist hier, und es scheint auf jeden Fall die beste Lösung zu. Ich werde upvote und akzeptieren Euch die Antwort auf meine Frage.Habe ich es herausgefunden, wie zu lösen, einfach vor dem posten meiner Frage, so, nachdem Sie bereits geschrieben, ich Teile diese Hoffnung, es werde nützlich sein für jemanden, der sonst früher oder später...
Diesem funktioniert der trick:
PHP_EOL
) geschieht entsprechend der Plattform, auf der das XML erzeugt wurde.