页面标题中显示的HTML标记

时间:2014-08-27 16:27:34

标签: asp.net-mvc razor title

我根据页面模型中的属性动态设置页面标题。有时该属性包含html标记,例如<i>Article Title</i>。当属性包含HTML标记时,它们将显示在页面标题中。我尝试用@Html.Raw围绕房产,但它没有帮助。如何确保标签不显示?

代码:

<head>
    <title>@Html.Raw(Model.Title)</title>
</head>

基于@Santiago's answer的工作代码:

<head>
@{
    string titleRaw = Model.Title;
    string htmlTag = "<[^>]*>";
    Regex rgx = new Regex(htmlTag);
    string titleToShow = rgx.Replace(titleRaw, blank);
}
    <title>@titleToShow</title>
</head>

1 个答案:

答案 0 :(得分:2)

您可以尝试使用正则表达式吗?

<[^>]*>

从中获取:

Regular expression to remove HTML tags from a string

String target = someString.replaceAll("<[^>]*>", "");
  

假设您的非HTML不包含任何&lt;或者&gt;而你的输入   字符串结构正确。

上面的SO链接

中提供了更完整的解释