我拼命尝试在 Smalltalk 中编写一个非常基本的方法来转义 HTML 标记('<' 和 '>')。
到目前为止,这就是我想出的:
escapeHtml: str
|tags newString tmpString|
newString := String new.
tags := Dictionary new.
tags at: '<' put: '<'.
tags at: '>' put: '>'.
tags keysAndValuesDo:
[ :k :v |
tmpString := str copyReplaceAll: k with: v.
newString := tmpString
].
^newString
!
不幸的是,它似乎只替换了tags
字典的最后一项。我究竟做错了什么?我可能还应该指出,我对 Smalltalk 的经验很少。
选择的解释器是“syx”。