我有一个varchar字段,用于存储所见即所得编辑器中的内容,因此其中包含html标记。我需要能够通过关键字搜索SSRS报告。
如果html格式正确,但如果不正确,则会引发xml解析错误。
XML parsing: line 1, character 55, well formed check: undeclared entity
在sql server中是否有一种方法可以剥离所有html并仅搜索纯文本或任何其他建议,例如我可以从该列中搜索关键字的查询?
SELECT t1.Id, t1.Subject, t1.Details
FROM Tickets AS t1
WHERE (CAST(REPLACE(REPLACE(t1.Details, '>', '/>'), '</', '<') AS XML).value('.', 'nvarchar(max)') LIKE '%' + @keyword + '%' OR t1.Subject LIKE '%' + @keyword + '%')
作为一种变通办法,我试图按如下方法在SSRS内添加过滤器,但是如果我搜索关键字<span>
,由于某种奇怪的原因,它仍会返回结果?
=(Fields!Description.Value Like "*" + Parameters!keyword.Value + "*") Or ( System.Text.RegularExpressions.Regex.Replace(Fields!Description.Value, "<[^>]+>","") Like "*" + Parameters!keyword.Value + "*");
为什么正则表达式过滤器不起作用?