如何使用C#.net获取包含HTML标记的字符串的子字符串?

时间:2012-10-04 12:51:07

标签: c# asp.net substring html

我有一个包含HTML标记的子字符串,我需要缩短它,但显示的字符串与字符串上显示的格式相同。

它不一定是X字符长,但它应该足够短,以便在具有一定宽度和高度的面板内显示?

有什么办法可以用c#实现这个目的吗?

使用CSS怎么样?即无论内容如何,​​都要显示具有固定高度的面板?

谢谢..

示例:我有以下面板,其中包含一个包含带有html标签的文本的标签:

Example

我需要移除滚动条而不使面板更长,但保持这个高度&这宽度..

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式查找特定标记的内容。之后使用.substring来缩短结果。

一个例子可能是:

<h1>head</h1>
<p>contents</p>

正则表达式可能是:

<p\b[^>]*>(.*?)</p>

结果将是:

<p>contents</p>

现在只需排除开始和结束标记。因为它是一个固定的长度。

我发现有关更改HTML标记之间内容的更多有趣内容。在这里阅读(regex ftw!):

http://www.thatsquality.com/articles/how-to-match-and-replace-content-between-two-html-tags-using-regular-expressions


如果你想在c#中解决它,可能不会让你疯狂的另一种解决方案:

HTML Agility Pack

查看网站的示例部分。伟大的小工具!

答案 1 :(得分:2)

如果您有以下HTML代码:

<div class="div1"> Some Really Bold String </div>

您可以提供css来隐藏滚动条,

.div { overflow:hidden; height:200px; width:200px;}

heightwidth值仅供参考。
overflow:hidden不会让div的内容扩展到div。 您可以在overflow here找到更多信息。