textarea und Zeilenumbrüche
dey
- xsl
0 Thomas J.S.0 dey0 dey0 Thomas J.S.0 dey0 Thomas J.S.0 dey
Hallo,
jetzt bin ich aber wirklich froh, dass der Server wieder rennt.
Mein Problem:
Wie kann ich den Zeilenumbruch in report oder auch beim lesen der XML-Datei umwandeln in <br>?
bydey
Hallo,
Mein Problem:
xmlns:fo="http://www.w3.org/1999/XSL/Format" version='1.0'>)
Wie kann ich den Zeilenumbruch in report oder auch beim lesen der XML-Datei umwandeln in <br>?
Das kommt darauf an, ob und was du dem XSLT-Prozessor servierst.
<br> wäre bei XSL-FO so oder so falsch.
Wenn du den Inhalt der Textarea noch zuvor in XML abspeicherst und dann die XSL-Transformation durchführst, kannst du die Zeilenumbruche mit XSL in was auch immer du möchtest umwandeln.
Sonst fällt mir nur eine Lösung mit RegExp. auf den Inhalt der Variable/Textarea in PHP ein.
Grüße
Thomas
Hallo,
Zusatzinfo:
ich habe kürzlich an anderer Stelle XML direkt in PHP geparsed und dort die Zeileumbrüche erfolgreich über die Maierung von \n gewandelt.
Das wollte ich jetzt bei dieser älteren Variante, die noch über XSL geht nachholen.
Hat aber, wie beschrieben nicht geklappt
xmlns:fo="http://www.w3.org/1999/XSL/Format" version='1.0'>)
Wie kann ich den Zeilenumbruch in report oder auch beim lesen der XML-Datei umwandeln in <br>?
Das kommt darauf an, ob und was du dem XSLT-Prozessor servierst.
<br> wäre bei XSL-FO so oder so falsch.
Was wäre denn richtig?
Wenn du den Inhalt der Textarea noch zuvor in XML abspeicherst und dann die XSL-Transformation durchführst, kannst du die Zeilenumbruche mit XSL in was auch immer du möchtest umwandeln.
Ich finde/sehe sie aber nicht, weil ich nicht sicher bin, wie sie in der Variable übergeben werden.
Wenn ich die XML-Datei im Editor öffne, ist dort einen Zeilenumbruch
Sonst fällt mir nur eine Lösung mit RegExp. auf den Inhalt der Variable/Textarea in PHP ein.
Das muss ich mir mal anschauen.
bydey
Hallo,
Noch ein Nachtrag
Sonst fällt mir nur eine Lösung mit RegExp. auf den Inhalt der Variable/Textarea in PHP ein.
Das muss ich mir mal anschauen.
ich habe nachgeschaut und denke du spielst auf ereg_replace oder ähnliches an.
Das war ja meine Methode erster Wahl, aber wie schon erwähnt, ich finde/ sehe den Zeilenumbruch in der Variable nicht!
bydey
Hallo,
xmlns:fo="http://www.w3.org/1999/XSL/Format" version='1.0'>)
Wie kann ich den Zeilenumbruch in report oder auch beim lesen der XML-Datei umwandeln in <br>?
Das kommt darauf an, ob und was du dem XSLT-Prozessor servierst.
<br> wäre bei XSL-FO so oder so falsch.
Was wäre denn richtig?
FO kennt keinen <br>. Es kommt auf dem FO-Prozessor an welche Eingenschaften er unterstützt. Bei FOP muss es z.B. ein fo:block</fo:block> sein.
Wenn du den Inhalt der Textarea noch zuvor in XML abspeicherst und dann die XSL-Transformation durchführst, kannst du die Zeilenumbruche mit XSL in was auch immer du möchtest umwandeln.
Ich finde/sehe sie aber nicht, weil ich nicht sicher bin, wie sie in der Variable übergeben werden.
Wenn ich die XML-Datei im Editor öffne, ist dort einen Zeilenumbruch
Noch ein Nachtrag
»»
»»ich habe nachgeschaut und denke du spielst auf ereg_replace oder ähnliches an. Das war ja meine Methode erster Wahl, aber wie schon erwähnt, ich finde/ sehe den Zeilenumbruch in der Variable nicht!
Die Zeichen für den Zeilenumbruch sind da, wie diese in PHP herauszufinden sindm, weiss ich nicht. Aber entweder die hexadezimale oder die Unicode Abfrage nach diesen Zeichen sollte dort funkionieren: Tab (9), Zeilenvorschub / line feed (A) und Wagenrücklauf / carriage return (D), Leerzeichen (20) .
Aber die Frage ist für mich eher: machst du eine Transformation mit XSL nachdem die Daten aus dem Formular ins XML gespeichert wurden?
Es kann aber auch sein, dass ich deine Frage nur nicht richtig verstehe.
Grüße
Thomas
Hallo Thomas,
ich hoffe du bist heute auch auf Sendung, damit ich das Problem doch noch gelöst bekomme
<br> wäre bei XSL-FO so oder so falsch.
Was wäre denn richtig?
FO kennt keinen <br>. Es kommt auf dem FO-Prozessor an welche Eingenschaften er unterstützt. Bei FOP muss es z.B. ein fo:block</fo:block> sein.
Unglücklicherweise hast du recht. Ich habe meinen code noch einmal überprüft und festgestellt, dass ich einen Statthalter(|lb|), den ich dem Autor zur Verfügung stelle später aufwendig wieder filtere und in Zeilenbrüche umsetze
Aber die Frage ist für mich eher: machst du eine Transformation mit XSL nachdem die Daten aus dem Formular ins XML gespeichert wurden?
Es kann aber auch sein, dass ich deine Frage nur nicht richtig verstehe.
Ich will in PHP den Zeilenumbruch nach dem submit in der Variable finden und in etwas übersetzen, was ich später beim lesen mit XSL wiederum verwenden kann, um einen Zeilenumbruch daraus zu erzwingen.
z.B. $in_text = str_replace("\n","<fo:block></fo:block>",$in_text);
bydey
Hallo day,
ich hoffe du bist heute auch auf Sendung, damit ich das Problem doch noch gelöst bekomme
mal gucken ;-)
Aber die Frage ist für mich eher: machst du eine Transformation mit XSL nachdem die Daten aus dem Formular ins XML gespeichert wurden?
Es kann aber auch sein, dass ich deine Frage nur nicht richtig verstehe.Ich will in PHP den Zeilenumbruch nach dem submit in der Variable finden und in etwas übersetzen, was ich später beim lesen mit XSL wiederum verwenden kann, um einen Zeilenumbruch daraus zu erzwingen.
z.B.
$in_text = str_replace("\n","<fo:block></fo:block>",$in_text);
Wozu so kompliziert?
Lass doch die Zeilenumbrüche drinn, du kanns sie dann direkt in und mit XSL umwandeln.
<xsl:template name="cr2whatever">
<xsl:param name="text" />
xsl:choose
<xsl:when test="contains($text, '
')">
<xsl:value-of select="substring-before($text, '
')" />
<whatever />
<xsl:call-template name="cr2br">
<xsl:with-param name="text" select="substring-after($text, '
')" />
</xsl:call-template>
</xsl:when>
xsl:otherwise
<xsl:value-of select="$text" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Grüße
Thomas
Morgen Thomas,
bist heute nen bissle später aufgestanden!?
Habe schon gedacht ich müsste heute dumm sterben.
<xsl:when test="contains($text, '
')">
Das war es, was ich gesucht habe! Danke!
bydey
Morgen Thomas,
*morgääähn* ;-)
bist heute nen bissle später aufgestanden!?
Ne, aber hatte vorher noch andere Sachen zu tun.
<xsl:when test="contains($text, '
')">
Das war es, was ich gesucht habe! Danke!
Gerne :)
Grüße
Thomas