【发布时间】:2011-05-31 20:06:21
【问题描述】:
我最近开始在 ReReplace() 函数中使用以下 RegEx 来使用 ColdFusion 从字符串中去除 HTML 标记。 请注意:我没有将其用作防止 XSS 或 SQL 注入的保护;这只是为了在字符串显示在 HTML 标题属性中之前从字符串中删除现有且安全的 HTML。
REReplaceNoCase(str,"<[^>]*>","","ALL")
在一个半相关的问题I asked how to modify my RegEx 中包含空格和换行符。有人告诉我,为此目的使用 RegEx 是不合适的,this post was referenced as an explanation.
我强烈怀疑您发布的正则表达式实际上不能正常工作。我建议您不要使用正则表达式来解析 HTML,因为 HTML 不是常规语言。请改用 HTML 解析器。 (Mark Byers)
如果这是真的,那么在字符串显示之前从字符串中删除 HTML 的合适工具是什么? (请记住,HTML 已经是安全的;它在进入数据库之前已经过清理)。
我知道HTMLEditFormat() 和HTMLCodeFormat(),但是这两个函数不能满足我的需要;前者用它们的 HTML 转义等效项替换特殊字符,而后者完全一样,但也将字符串包装为 <pre> 标记。
我想做的是在显示 HTML 标题属性<a title="My string without HTML goes here">...</a> 之前从 HTML 和换行符中清除字符串
有时不需要 HTML。例如,假设您想显示一篇文章的摘录,但没有与它一起存储的 HTML。
【问题讨论】:
标签: regex coldfusion