2014-08-27 91 views
1

我基於頁面模型中的屬性動態設置頁面標題。有時該屬性包含html標籤,如<i>Article Title</i>。當該屬性包含HTML標記時,它們將顯示在頁面標題中。我試圖圍繞@Html.Raw的財產,但它沒有幫助。我怎樣才能確保標籤不顯示?基於@Santiago's answer在頁面標題中顯示的HTML標籤

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

工作代碼:

代碼

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

你能告訴你的代碼? – BG100 2014-08-27 16:30:33

+0

@ Html.Raw不會消除你的財產的標記。你需要自己擦掉。在過去,我對不應該有標記的標題使用不同的屬性。 – JasonCoder 2014-08-27 16:41:13

+0

如果你結合了正則表達式和'Html.Raw',你會得到最好的兩個。清潔和安全的文字。 – 2014-08-27 16:47:31

回答

2

你能嘗試用正則表達式來做到這一點?

<[^>]*> 

接過來自:

Regular expression to remove HTML tags from a string

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

假設你非HTML不包含任何<或>和您輸入的字符串 正確的結構。

更完整的解釋可以在上述SO鏈接