2

私はhtmlcodeと呼ばれるvarを持っています:

  <table width="600" align="center" cellspacing="0" cellpadding="0">
        <tbody>
            <tr>
             <td colspan="3">&nbsp;</td>
            </tr>
            <tr>
             <td colspan="3"><img width="600" height="60" alt="" src="nieuwsbrief_banner.gif</td>
            </tr>
            <tr>
             <td colspan="3">&nbsp;</td>
            </tr>
     </tbody>
   </table>

の出現箇所をすべて削除したい&nbsp;。文字列内の他の文字を置き換えることはできますが&nbsp;、空の文字列 ("") に置き換えることはできないようです。これは私がしました:

<cfset htmlcode = Replace(htmlcode, "&nbsp;", "", "all")>

私も置き換えてみましnbsp;た(最初の & なし)。その結果、すべて&nbsp;が に変更されまし&amp;た。私はそれから試し<cfset htmlcode = ReplaceNoCase(htmlcode, "&amp;", "", "all")>ましたが、これはの出現を削除しませんでし&amp;た.

どうすればいいですか?

4

4 に答える 4

5

  を削除するには、chr コード 160 を検索する必要があります。

<cfset htmlcode = Replace(htmlcode, chr(160), "", "all")>

http://www.cjboco.com/blog.cfm/post/table-of-ascii-characters-and-symbols-for-coldfusion/

于 2014-04-22T02:15:21.180 に答える
0

以下を使用して動作します。変数名を確認し、固定文字列を変数に再割り当てしていることを確認する必要があります。テスト中に質問に答えようとしているときに同じ問題が発生しました。

<cfset htmlcode = Replace(htmlcode, "&nbsp;", " ", 'all')>

それでもうまくいかない場合は、関数を見てくださいHTMLEditFormat

于 2013-09-03T12:52:44.097 に答える
0

ナイスミスター、

イライラすることはわかっていますが、真実は、上記の置換コードが投稿した文字列で機能することです。これをチェックしてください。

<Cfsavecontent variable="myhtml">
<table width="600" align="center" cellspacing="0" cellpadding="0">
        <tbody>
            <tr>
             <td colspan="3">&nbsp;</td>
            </tr>
            <tr>
             <td colspan="3">some image</td>
            </tr>
            <tr>
             <td colspan="3">&nbsp;</td>
            </tr>
     </tbody>
   </table>


</Cfsavecontent>

<cfoutput>#myhtml#</cfoutput>
<hr>
<Cfset myHTML = Replace(myhtml, "&nbsp;", "", "all")>

<Cfoutput>#myhtml#</CFOUTPUT>

結果はこちらのURLからご覧いただけます。

http://www.coldfusionmuse.com/test/myhtml.cfm

「ソースの表示」に移動すると、最初のテーブルにはスペースがあり、2 番目のテーブルにはスペースがないことがわかります。入力された「Htmlcode」変数には、含まれて&nbsp;いると思われる文字列が含まれていないことが疑われます(ピーターとアダムとレイが言ったように)。

また、上記のコードでは、img の終了タグが欠落していることにも注意してください。

于 2013-09-03T13:45:30.207 に答える