问题陈述:
我有超过100万条记录在表的说明列中有长html文本数据。我想使用SQL Server中提供的REPLACE函数替换文本中的Html标记。
示例:
<div style='width:100%;height:500px;'>
Some text here <span style='color:red;'> sample text </span>
<img src='[image url here]' alt='test image' />
</div>
预期输出:此处的一些文字示例文字
解决方案:我已经创建了一个函数,它从文本中删除所有html标记并返回纯文本。但是,这种方法需要花费很长时间,因为它会迭代所提供文本中的每个html标记并填充它。
所以我想用Regex的REPLACE函数一次性替换所有的html标签。
我见过许多带有正则表达式的REPLACE函数的例子,但没有一个对我有效。
我想的方法就像:
DECLARE @HtmlText NVARCHAR(MAX) = `<div style='width:100%;height:500px;'>
这里有一些文字 示例文本`
SELECT REPLACE(@HtmlText, '<%>', '')
从上面的查询中我希望它能找到像我这样的html标签:<div style='width:100%;height:500px;'>
并将其替换为空白。
同样适用于其他html标签。
请帮助我使用正确的正则表达式,我可以在我的REPLACE中使用。
提前致谢。