我最近开始在使用ColdFusion的ReReplace()函数中使用以下正则表达式来去除字符串中的HTML标签。请注意:我不是将其用作防止XSS或SQL注入的保护措施;这只是为了在将字符串显示在HTML标题属性中之前,从其中删除现有且安全的HTML代码。
在一个半相关的问题中我问如何修改我的正则表达式以包括空格和换行符。有人告诉我使用正则表达式来做这件事情是不合适的,参考了这篇文章作为解释。
我知道HTMLEditFormat()和HTMLCodeFormat(),但这两个函数都不能提供我所需的功能;前者将特殊字符替换为它们的HTML转义等效项,而后者则完全相同,但还将字符串包装在一个
我想要做的是在显示在HTML标题属性
有时候HTML是不必要的。例如,你想显示一篇帖子的摘录,但不需要存储其中的HTML。
REReplaceNoCase(str,"<[^>]*>","","ALL")
在一个半相关的问题中我问如何修改我的正则表达式以包括空格和换行符。有人告诉我使用正则表达式来做这件事情是不合适的,参考了这篇文章作为解释。
如果这是真的,那么在显示之前从字符串中删除HTML的适当工具是什么?(请注意,HTML已经安全;输入到数据库之前已进行了消毒)。我强烈怀疑你发布的正则表达式实际上并不起作用。 我建议你不要使用正则表达式来解析HTML,因为HTML不是一种正则语言。 使用HTML解析器代替。(Mark Byers)
我知道HTMLEditFormat()和HTMLCodeFormat(),但这两个函数都不能提供我所需的功能;前者将特殊字符替换为它们的HTML转义等效项,而后者则完全相同,但还将字符串包装在一个
<pre>
标记中。我想要做的是在显示在HTML标题属性
<a title="My string without HTML goes here">...</a>
之前清理掉字符串中的HTML和换行符。有时候HTML是不必要的。例如,你想显示一篇帖子的摘录,但不需要存储其中的HTML。
Replace(str, '\n', '', 'all')
。 - Charles"<([^\">]|\"[^\"]*\"|'[^']*')*>"
。 - Charles