34

現在、次の2つの方法のいずれかを使用して、文字列に改行を入れています。

<cfset someStr="This is line 1" & Chr(10) & "This is line 2" & Chr(10) & "This is line 3" />

また

<cfset NL=Chr(10) />
<cfset someStr="This is line 1#NL#This is line 2#NL#This is line 3" />

Java/C++ の方法に似たものはありますか? 私が意味するこのようなもの:

<cfset someStr="This is line 1\nThis is line 2\nThis is line 3" />
4

7 に答える 7

35

あなたのやり方は正しいです。CF では \n または \r はサポートされていません。ライブ ドキュメントから

  • Chr(10) は改行文字を返します
  • Chr(13) は復帰文字を返します
  • 2 文字の文字列 Chr(13) & Chr(10) は、Windows の改行を返します
于 2009-06-12T15:18:15.677 に答える
21

プラットフォームに依存しない開発を行っている場合は、次のことができます。

<cfset NL = CreateObject("java", "java.lang.System").getProperty("line.separator")>

たとえば、あなたapplication.cfm/cfcまたは他のどこかで高レベルでそれを使用します。

于 2009-06-12T16:12:55.060 に答える
11

私はこれを使用します:

<cfset br = "#chr(13)##chr(10)#">
<cfset someStr="This is line 1#br#This is line 2#br#This is line 3" />
于 2009-06-12T16:04:03.600 に答える
5

CFに直接ではなく、CF-Javaの男に任せて、CF変数で直接Javaメソッドを使用して目的を達成できるかどうかを判断しますが...

cfsavecontent を使用して、自然な改行を入れることができます:

<cfsavecontent variable="someStr">
This is line 1
This is line 2
This is line 3
</cfsavecontent>

次に、次の方法で確認します。

<cfoutput>
<pre>#Trim(someStr)#</pre>
</cfoutput>

Trim() は、最初と最後の改行が不要な場合にそれらを取り除くためにあることに注意してください。

于 2009-06-12T15:14:03.393 に答える
0

CF8 形式の cfmail で、改行あり、何も追加されていません。アドビは、「理由」と簡単な回避策について特定の何かを提供するようです。... 管轄区域

于 2010-12-27T13:14:56.613 に答える
0

私はこのようなものがうまくいくかどうか疑問に思っていました:

<cfset str = CreateObject("java", "java.lang.String").init("Line 1\nLine 2\nLine 3")>

<cfoutput>
<pre>#str#</pre>
</cfoutput>

悲しいかな:O(

于 2009-06-12T16:13:46.057 に答える
0

で新しい行を出力する方法を探していた<cfscript>ので、同様の方法で到着した他の人に答えを残すことにしました。

writeDump(variable); // writeDump will not produce a new line.
writeOutput("<br>"); // you have to use writeOutput.

writeOutputページ出力ストリームに html として追加されるため、出力するには html を記述する必要があります(これは、インデント用のスペースを追加するために含めることもできることを意味します&nbsp;) 。

于 2018-12-11T16:27:04.063 に答える