【发布时间】:2011-02-17 00:30:54
【问题描述】:
如果我在 ColdFusion 中做这样的事情:
<cfoutput>foo="#foo()#"</cfoutput>
生成的 HTML 前面有一个空格:
foo=" BAR"
但是,如果它不是函数调用,它可以正常工作,即:
<cfset fooOut=foo() />
<cfoutput>foo="#fooOut#"</cfoutput>
给出这个输出:
foo="BAR"
这个额外的空间是从哪里来的,我能做些什么吗?
编辑澄清一下,空格不在我的foo函数返回的值中:
<cffunction name="foo" access="public" returntype="string">
<cfreturn "BAR" />
</cffunction>
但我也发现内置函数不会发生这种情况,即:
<cfoutput>"#UCase("bar")#"</cfoutput>
打印:
"BAR"
但是,如果我将函数的输出传递给内置函数,就会发生这种情况(这部分对我来说毫无意义)。即:
<cfoutput>"#UCase(foo())#"</cfoutput>
打印:
" BAR"
【问题讨论】:
-
这绝对是一个 hack,并没有回答您的问题,但是您是否尝试过使用 Trim() 函数删除空格?
-
@dbyrne: 我试过了,但是 foo() 返回的值没有空格开头,所以 trim 什么都不做,然后 trim 的结果得到一个空格添加到它,就像 foo() 的结果
标签: coldfusion whitespace