【发布时间】:2017-02-03 16:28:44
【问题描述】:
我有各种 string 对象,带有 html 格式的文本。其中一些字符串的末尾包含某些我想以编程方式删除的标签,例如末尾的这些 linebreak 和 paragraph 标签:
<li><ol> **Text/List** </li></ol><p><br></p><br><br>
我需要从它的端点检查字符串,但我不知道在哪里切断末端,或者在哪里寻找切割点。我只需要摆脱这些多余的标签。
我试图构建一个检查字符串的函数,我知道它不能正常工作,但这是我的基础:
public static String RemoveRedundantTags(this String baseString, String html)
{
if (html.Contains("<"))
{
for (Int32 i = html.Length - 1; i >= 1; i--)
{
if (html[i] == '<' && html[i - 1] != '>' && html[i + 1] != '/')
{
redundantTags = html.Substring(html[i], html.Length - i);
html = html.Replace(redundantTags, String.Empty);
return html;
}
}
}
return html;
}
【问题讨论】:
-
如果你不说任何条件,就没有办法帮你。更简单的方法是删除所有 HTML 标记,只保留文本。
-
冗余是什么意思?是什么让它们变得多余?到目前为止,您尝试过什么?
-
我从 TFS 获取它们,当创建整个事物的人做了几个换行符并且没有删除它们时,它们被留下了标签。他们在我的输出中创建了空白空间。我需要其他 html 标签,因为整个东西都插入到 Word 中。
-
htmlstring.Replace("<br>","").Replace("<p>","").Replace("</p>","");或类似的东西怎么样? -
这将删除整个字符串中的每个段落和每个换行符,这些类型的标签通常不是多余的,只是末尾没有实际内容的标签。