我在SQL Server2005中有包含HTML标记的数据,我想将所有内容都剥离掉,只在标记之间保留文本。理想的情况下也更换喜欢的东西<
带<
等
有没有简单的方法可以做到这一点,或者有人已经获得了一些示例T-SQL代码?
我没有添加扩展存储的proc之类的功能,因此更喜欢纯T-SQL方法(最好是一种与SQL 2000向后兼容的方法)。
我只想使用剥离的HTML来检索数据,而不是对其进行更新,因此理想情况下,它将被编写为用户定义的函数,以使其易于重用。
因此,例如,将其转换为:
<B>Some useful text</B>
<A onclick="return openInfo(this)"
href="http://there.com/3ce984e88d0531bac5349"
target=globalhelp>
<IMG title="Source Description" height=15 alt="Source Description"
src="/ri/new_info.gif" width=15 align=top border=0>
</A>> <b>more text</b></TD></TR>
对此:
Some useful text > more text
有一个UDF将执行此处描述的操作:
用户定义的功能以剥离HTML
CREATE FUNCTION [dbo].[udf_StripHTML] (@HTMLText VARCHAR(MAX))
RETURNS VARCHAR(MAX) AS
BEGIN
DECLARE @Start INT
DECLARE @End INT
DECLARE @Length INT
SET @Start = CHARINDEX('<',@HTMLText)
SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText))
SET @Length = (@End - @Start) + 1
WHILE @Start > 0 AND @End > 0 AND @Length > 0
BEGIN
SET @HTMLText = STUFF(@HTMLText,@Start,@Length,'')
SET @Start = CHARINDEX('<',@HTMLText)
SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText))
SET @Length = (@End - @Start) + 1
END
RETURN LTRIM(RTRIM(@HTMLText))
END
GO
编辑:请注意,这是针对SQL Server 2005的,但是如果将关键字MAX更改为4000,则它也将在SQL Server 2000中工作。
问题内容: 如何从字符串中删除HTML标签,以便可以输出纯文本? 问题答案: 嗯,我尝试了您的功能,并在一个小例子上工作了: 你能举一个例子吗? Swift 4和5版本:
问题内容: 如何从JavaScript中的字符串中剥离HTML? 问题答案: 使用浏览器的解析器可能是当前浏览器中最好的选择。以下将起作用,但有以下警告: 您的HTML在一个元素内有效。HTML包含在或或标签无效内的,因此可能无法正确解析。 (DOM标准属性)和(非标准)属性不相同。例如,将在元素内包含文本,而在元素内则不(在大多数浏览器中)。这只会影响IE <= 8,这是唯一不支持的主要浏览器。
问题内容: 当在HTML文件中打印一行时,我试图找到一种仅显示每个HTML元素的内容而不显示格式本身的方法。如果找到,它将仅打印“某些文本”,打印“ hello”,等等。如何去做呢? 问题答案: 我一直使用此函数来剥离HTML标记,因为它仅需要Python stdlib: 对于Python 3: 对于Python 2:
问题内容: 我需要从字符串中删除一个特定的单词。 但我发现python strip方法似乎无法识别有序单词。只需删除传递给参数的所有字符。 例如: 如何使用python剥离指定的单词? 问题答案: 使用。 或者使用和使用正则表达式。这将允许删除前导/尾随空格。
问题内容: 考虑一个非DOM场景,您想使用JavaScript / ECMAScript从字符串中删除所有非数字字符。范围内的任何字符都应保留。 您将如何用纯JavaScript实现此目标?请记住,这是一个非DOM方案,因此jQuery和其他涉及浏览器和按键事件的解决方案都不适合。 问题答案: 使用正则表达式为的字符串方法,这是与所有非数字匹配的速记字符类:
问题内容: 我过去跑步 在Perl上摆脱不可打印的字符。 在Python中,没有POSIX正则表达式类,因此我无法编写[:print:]来表示我想要的含义。我不知道在Python中无法检测字符是否可打印。 你会怎么做? 编辑:它也必须支持Unicode字符。string.printable方式会很乐意将它们从输出中剥离。curses.ascii.isprint将为任何unicode字符返回fals