TCL 错误:将 HTML 代码放入 tcl 时出现“闭引号后有多余字符”

问题描述 投票:0回答:1

我收到错误消息

extra characters after close-quote
   while compiling
"puts $o "
                <TR>
                    <TD align=\"center\" BGCOLOR = \"FFFFFF\" ><FONT COLOR =
\"black\">$rulename</FONT></TD>
                    <TD align=\"left\" BGCOLOR = \"F..."
    ("if" then script line 28)

这是在我输入下面的代码后发生的

<input type ="radio" value ="clear" name ="clear_waive">clear
<input type ="radio" value ="clear" name ="clear_waive">waive &nbsp

我想在 tcl 中由上述整个 HTML 代码形成的 Excel 图表中放置一个单选按钮, 它在我在“HTML 代码测试网站”尝试过的地方有效,但在 tcl 代码中却无效。

我尝试在 HTML TEST 网站(又名 liveweave.com)中测试“单选按钮”代码,它工作正常。 然而,当我将相同的代码放入 tcl 时,情况却并非如此。

我只想让代码在Excel图表上显示单选按钮,就像HTML测试网站一样。

html button tcl
1个回答
0
投票

您在某处存在正式语法错误,很可能是双引号字符前面缺少反斜杠。代码编辑器中的语法突出显示可以相当轻松地揭示可能的位置。

使用这样的结构可能会更好:

puts $o [subst {
    <TR>
        <TD align="center" BGCOLOR="#FFFFFF">
            <FONT COLOR="black">$rulename</FONT>
        </TD>
    ...
}]

像这样,大括号的内容是一个 HTML 片段,并遵循其中的语法规则 除了其中的 Tcl 替换。这比在双引号字符串中放置大量反斜杠更容易编写(和阅读!)。


执行此操作时,您应该注意替换的变量(和命令结果)将被解释为 HTML 片段;可能需要关键实体转义。或者可能不是;这可能就是你想要的;然而你确实需要意识到这一点。

string map
命令可以进行此类替换;把它放在助记符程序中,方便使用。

© www.soinside.com 2019 - 2024. All rights reserved.