我在SQL Server 2005中有包含html标记的数据,我想将所有内容剥离掉,只在标记之间保留文本。理想的情况下也更换喜欢的东西<
带<
等
有没有简单的方法可以做到这一点,或者有人已经获得了一些示例t-sql代码?
我没有能力添加扩展的存储过程等,因此更喜欢纯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将执行此处描述的操作:
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中工作。
问题内容: 是否有从Java字符串中删除HTML的好方法?一个简单的正则表达式 会起作用,但是不会正确转换,并且两个尖括号之间的非HTML也会被删除(即,正则表达式中的将会消失)。 问题答案: 使用HTML解析器代替正则表达式。对于Jsoup来说,这简直太简单了。 Jsoup还支持对可定制的白名单,如果你希望只允许例如这是非常有用的去除HTML标签,和。
问题内容: 是否有从Java字符串中删除HTML的好方法?一个简单的正则表达式 会起作用,但是;不会正确转换,并且两个尖括号之间的非HTML也会被删除(即.,正则表达式中的将会消失)。 问题答案: 如果你是为Android编写的,则可以这样做…
问题内容: 应该有一个比以下方法更简单的方法: 在那儿? 问题答案: 从效率的角度来看,你不会被击败 对于更高版本的Python,请使用以下代码: 它使用查找表在C中执行原始字符串操作-除了编写自己的C代码以外,没有什么比这更好的了。 如果不用担心速度,那么另一个选择是: 这比每个char的更快,但效果不如regexes或等非纯python方法,如下面的时序所示。对于这种类型的问题,以尽可能低的水
问题内容: 使用ASP.NET,如何可靠地剥离给定字符串中的HTML标签(即不使用正则表达式)?我正在寻找类似PHP的东西。 例: 输出: “你好” 我尝试不重新发明轮子,但是到目前为止,我还没有找到任何满足我需求的东西。 问题答案: 如果只是从字符串中剥离 所有 HTML标记,则这也可以与regex 可靠地 一起工作。更换: 与空字符串,全局。不要忘了之后将字符串标准化,替换为: 与单个空格,并
本文向大家介绍如何从JavaScript中的字符串中删除html标签?,包括了如何从JavaScript中的字符串中删除html标签?的使用技巧和注意事项,需要的朋友参考一下 从字符串中删除HTML标签 我们可以使用javascript中的正则表达式删除字符串中的HTML / XML 标签。HTML元素(例如span,div等)出现在左右箭头之间,例如<div>,<span>等。因此,用nothi
问题内容: 如何在C#中使用正则表达式删除所有HTML标记,包括&nbsp。我的弦看起来像 问题答案: 如果您不能使用面向HTML解析器的解决方案来过滤标签,则这里有一个简单的正则表达式。 理想情况下,您应该再次通过正则表达式过滤器,该过滤器将多个空格