【问题标题】:RAZOR - Remove image tags from variable containing HTMLRAZOR - 从包含 HTML 的变量中删除图像标签
【发布时间】:2017-07-27 06:18:12
【问题描述】:

我有下面的助手来显示内容。

@Html.Raw(Model.PageData.PageContent)

我想在这里过滤掉(删除)它可能有的任何图像标签。我检查过的所有方法都像.substring() 等,它们需要删除/替换特定的索引或字符串名称等。这对我来说是不可行的,因为图像标签可以有任何源属性等。只有 Razor 有什么可能性吗?我无法修改服务器端的限制逻辑。

另外,我必须用 CSS / JavaScript 来伪造它,但我最后保留了这些。

有什么想法吗?

【问题讨论】:

  • 您可以使用正则表达式轻松做到这一点,但如果您从模型数据源中删除图像会更好,恕我直言。
  • Creating a Custom HTML Helper 会为您完成所需的工作。
  • @Robert 我没想到...让我试试...谢谢
  • @mmushtaq 做不到...这里有限制
  • 不要使用正则表达式。使用 html 解析器,例如 Html Agility Pack

标签: javascript html css asp.net-mvc razor


【解决方案1】:

这就是我使用正则表达式解决问题的方法。请建议是否有更好的选择,只使用剃须刀而不使用服务器端代码,如 c# 等。

@using System.Text.RegularExpressions;
@{
    var news = Model.PageData.PageContent;
    news = Regex.Replace(news, @"<img\s[^>]*>(?:\s*?</img>)?", "", RegexOptions.IgnoreCase);
}
@Html.Raw(news)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 2020-11-30
    • 2022-12-03
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多