我希望有人可以帮助解决这个小问题。
我有一个 HTML 字符串,下面显示了一个简化的示例,我需要在其中查找和替换文本。但前提是该文本没有出现在 HTML 标记中,即“<”和“>”。
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
In this text I'd like to replace the word "in" with another piece of text instead.
</td>
</tr>
</table>
例如,我想用下面的 span 字符串替换单词“in”,从而得到下面的完整 HTML。
<span class="highlight">in</span>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<span class="highlight">In</span> this text I'd like to replace the word "<span class="highlight">in</span>" with another piece of text <span class="highlight">in</span>stead.
</td>
</tr>
</table>
我只希望替换出现在“>”和“<”之间的文本的原因是因为我不希望通过替换“cellspacing”和“cellpadding”属性中的“in”一词来破坏 HTML。
如果使用正则表达式无法解决此问题,我也愿意在 VB.NET、Javascript 或 JQuery 中执行此操作。
提前感谢您提供的任何帮助!
解决了!
感谢 MiddleCSharp 的智慧
Dim rgx As New Regex(String.Format("\b{0}\b", SearchText, RegexOptions.IgnoreCase)
ltrPageCopy.Text = rgx.Replace(HTMLText, String.Format("<span class=""highlight"">{0}</span>", SearchText))