替换 c# 中的字符串问题
本文关键字:字符串 问题 替换 | 更新日期: 2023-09-27 18:32:43
我的代码:
msg = msg.Replace(":)", "<a href='"javascript:void(0)'" class='"EmojiesIcon'" id='"smiley'" title='":)'" ></a>")
.Replace(":v", "<a href='"javascript:void(0)'" class='"EmojiesIcon'" id='"pacman'" title='":v'"></a>");
当我进入:)在文本框中,我点击发送,msg
的结果始终是:
<a href="javascript<a href="javascript:void(0)" class="EmojiesIcon" id="pacman" title=":v"></a>oid(0)" class="EmojiesIcon" id="smiley" title=":)" ></a>
而且我找不到为什么会出现这个问题。
msg = msg.Replace(":)", "<a href='"javascript:void(0)'" class='"EmojiesIcon'" id='"smiley'" title='":)'" ></a>")
该行将产生:
"<a href='"javascript:void(0)'" class='"EmojiesIcon'" id='"smiley'" title='":)'" ></a>"
现在,当您到达下一行时,您将替换 :v
的所有实例,其中包括您从第一行获得的javascript**:v**oid
,例如:
// msg is now the replaced string:
msg = "<a href='"javascript:void(0)'" class='"EmojiesIcon'" id='"smiley'" title='":)'" ></a>";
msg.Replace(":v",
"<a href='"javascript:void(0)'" class='"EmojiesIcon'" id='"pacman'" title='":v'"></a>"
);
因此,您可以得到:
msg = "<a href="javascript<a href="javascript:void(0)" class="EmojiesIcon"
id="pacman" title=":v"></a>oid(0)" class="EmojiesIcon" id="smiley"
title=":)" ></a>";
您可能需要考虑使用 HtmlAgilityPack 来处理 HTML 数据。它比简单的替换功能强大得多。