asp.net – 获取包含HTML标记的文本子字符串
发布时间:2020-12-16 06:41:40 所属栏目:asp.Net 来源:网络整理
导读:获取包含 HTML标记的文本的子字符串 假设您需要以下前10个字符: “ p这是第1段 / p这是第2段 / p” 输出将是: “ p这是” 返回的文本包含未关闭的P标记.如果将其呈现给页面,则后续内容将受到打开的P标记的影响.理想情况下,首选输出将关闭任何未关闭的HTML
获取包含
HTML标记的文本的子字符串
假设您需要以下前10个字符: “< p>这是第1段< / p>这是第2段< / p>” 输出将是: “< p>这是” 返回的文本包含未关闭的P标记.如果将其呈现给页面,则后续内容将受到打开的P标记的影响.理想情况下,首选输出将关闭任何未关闭的HTML标记,与其打开时相反: “< p>这是< / p>” 解决方法
您需要教您的代码如何理解您的字符串实际上是HTML或
XML.只是将它视为一个字符串就不允许你按照你想要的方式使用它.这意味着首先将其转换为正确的格式,然后使用该格式.
使用XSL样式表 如果您的HTML是格式良好的XML,请将其加载到XMLDocument中,然后通过执行类似以下操作的XSL样式表运行它: <xsl:template match="p"> <xsl:value-of select="substring(text(),10)" /> </xsl:template> 使用HTML解析器 如果它不是格式良好的XML(如在您的示例中,中间突然出现< / p>),则需要使用a HTML parser of some kind,例如HTML Agility Pack(请参阅此question about C# HTML parsers). 自HTML is too complex to parse using regex起,不要使用正则表达式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 用户登录时,ASP.NET Core更改EF连接字符串
- ASP.NET状态管理在适当的情况下
- asp.net – 回发时超过最大请求长度异常
- asp.net – 如何防止asp:FormView作为表格呈现?
- com – asp经典中的server.createObject和createobject之间
- asp.net-mvc – 在VS2015中使用gulp在ASP.NET 4.5.2 MVC项目
- asp.net-core – ASP.NET 5(MVC6)如何为用户播种
- asp.net-core – .net core(csproj)global.json’projects’
- asp.net – Bin为Web应用程序部署的DLL优先于GAC的DLL?
- asp.net – 在服务器端级别渲染javascript.好主意还是坏主意
推荐文章
站长推荐
- asp.net-mvc-3 – 部署到“真实”IIs网站时默认R
- MediatR 知多少
- ASP.NET oAuth通过SSL访问令牌
- asp.net-core-mvc – 创建多个dbcontexts的MVC 6
- .net – 默认启用UnsafeHeaderParsing是否可以接
- asp.net-mvc – 如何应用css类到mvccontrib网格
- asp.net – 需要将用户限制为单个浏览器会话
- asp.net 4.5 webforms模型绑定:支持客户端验证?
- asp.net – 何时使用HttpApplicationState而不是
- .net – 实现UserManager以使用自定义类和存储过
热点阅读