2

我在我的网站上使用富文本编辑器,并且我使用标签来显示用户上次使用该框时输入的内容,但是当他提交代码时,它包含标签中的 html。当我提交表单时,它会写下以下内容......

<span id="bodyContent_header1"> <div style"float:right">The Text On The Page </div> </span>

我需要<span id="bodyContent_header1"> </span> 从代码中删除并保留其余部分。任何人都可以帮忙吗?此外,代码可能包含其他跨度标签,因此每次只应删除此标签。

4

2 回答 2

3

鉴于此类字符串是单行,您可以使用正则表达式^<span[^>]+>|</span>$替换最外层的<span>标签,如下所示:

string strRegex = @"^<span[^>]+>|</span>$";
RegexOptions myRegexOptions = RegexOptions.Multiline | RegexOptions.Singleline;
Regex myRegex = new Regex(strRegex, myRegexOptions);
string strTargetString = @"<span id=""bodyContent_header1""> <div style""float:right"">The Text On The Page </div> </span>\n";
string strReplace = @"";
return myRegex.Replace(strTargetString, strReplace);

这适用于RegexHero

于 2012-07-03T13:37:34.993 回答
1

此正则表达式从此标签中选择数据

(?<=<span id="bodyContent_header1">)(.+)(</span>)

用一个正则表达式替换不可能解决此任务

于 2012-07-03T13:36:20.400 回答