我有一个叫做htmlcode的var:
<table width="600" align="center" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td colspan="3"><img width="600" height="60" alt="" src="nieuwsbrief_banner.gif</td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
</tbody>
</table>
我想删除所有出现的
。我能够替换字符串中的其他字符,但似乎无法将
替换为空字符串(“”)。我这样做了:
<cfset htmlcode = Replace(htmlcode, " ", "", "all")>
我也尝试替换nbsp;
(没有&amp;开头)。结果是所有
都已更改为&
。然后我尝试了<cfset htmlcode = ReplaceNoCase(htmlcode, "&", "", "all")>
,但这并没有删除任何&
。
该怎么办?
答案 0 :(得分:3)
要剥离&nbsp,您需要搜索chr代码160。
<cfset htmlcode = Replace(htmlcode, chr(160), "", "all")>
http://www.cjboco.com/blog.cfm/post/table-of-ascii-characters-and-symbols-for-coldfusion/
答案 1 :(得分:0)
使用下面的内容并且有效。您应检查变量名称并确保将固定字符串重新分配给变量。在测试并尝试回答您的问题时遇到同样的问题。
<cfset htmlcode = Replace(htmlcode, " ", " ", 'all')>
如果它仍然不起作用,请查看函数HTMLEditFormat
答案 2 :(得分:0)
Nicemister,
我知道这令人沮丧,但事实是上面的替换代码确实适用于您发布的字符串。看看这个。
<Cfsavecontent variable="myhtml">
<table width="600" align="center" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td colspan="3">some image</td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
</tbody>
</table>
</Cfsavecontent>
<cfoutput>#myhtml#</cfoutput>
<hr>
<Cfset myHTML = Replace(myhtml, " ", "", "all")>
<Cfoutput>#myhtml#</CFOUTPUT>
您可以在此网址查看结果。
http://www.coldfusionmuse.com/test/myhtml.cfm
转到“查看源”,您会看到 - 第一个表有空格而第二个表没有空格。正如怀疑(正如Peter和Adam和Ray所说)你的输入“Htmlcode”变量不包含你认为它的字符串
。
另请注意,在上面的代码中,您缺少img的结束标记。
答案 3 :(得分:-1)
试试这个
<cfset htmlcode = Replace(htmlcode, " ", "", "all")>
如果您的html代码包含textarea,则不会“检测到”。
粘贴此代码Here:
<cfoutput>
<cfsavecontent variable="htmlcode">
textarea:<textarea>1 2 2</textarea><br />
div:<div>1 2 </div>
</cfsavecontent>
before:<br />
#htmlcode# <br />
<cfset htmlcode = Replace(htmlcode, " ", "", "all")>
after:<br />
#htmlcode#
<cfset htmlcode = Replace(htmlcode, " ", "", "all")>
after after:<br />
#htmlcode#
</cfoutput>
你可以看到你的替换完全正常,但不是textarea。 希望这会有所帮助。