用tcl脚本中的html实体替换特殊字符

时间:2017-04-05 11:45:16

标签: xml replace tcl

我正在使用tcl脚本创建一个xml文件。在我的tcl脚本文件中,我试图将特殊的聊天功能替换为相应的实体,如

return [string map [list – '"–"' ]

但是下面的特殊字符不会发生替换,

¨ “ ‚ < – … ¶ ”

1 个答案:

答案 0 :(得分:0)

要替换HTML的最小字符集完成:

set html_mapping {{"} &quot; ' &apos; & &amp; < &lt; > &gt;}
return [string map $html_mapping $inputString]

您也可以通过向该列表添加额外元素来映射其他字符。这是一种通用方式。

# Put this between the two lines above
foreach char [split "¨“‚…¶”" {}] {
    scan $char %c ch_num
    lappend html_mapping $char [format "&#%d;" $ch_num]
}

最好独立确保您传输的HTML被解释为使用UTF-8进行字符编码。像这样,你限制了你必须用实体编码做的工作量。