比如说,我现在要作一个搜索搜索的结果页面,要显示标题和一部分正文.标题不必说,但是正文中一般都有很多HTML代码,有没有什么比较好的方法过滤掉这些代码,(就是<>之间的内容),然后显示关键字附近的一段上下文呢?举个例子,数据库里有个字段的内容是:
请您对您的言行负责,<br>遵守中华人民共和国有关法律、<br>法规,尊重网上道德<img src="1.jpg>结帖方法
(关键字)<span>
:点击帖子右上的“管理”链接,进入管理页面,在要给分的回复后的文本框中填写分数,</span>
我搜索(关键字),然后希望得到关键字前后各10个字符,期望结果是:
法规,尊重网上道德结(关键字):点击帖子右上的“管有什么比较好的方法么?
谢谢各位先
请您对您的言行负责,<br>遵守中华人民共和国有关法律、<br>法规,尊重网上道德<img src="1.jpg>结帖方法
(关键字)<span>
:点击帖子右上的“管理”链接,进入管理页面,在要给分的回复后的文本框中填写分数,</span>
我搜索(关键字),然后希望得到关键字前后各10个字符,期望结果是:
法规,尊重网上道德结(关键字):点击帖子右上的“管有什么比较好的方法么?
谢谢各位先
create function filter(@str varchar)
returns varchar(8000)
as
begin
set @str=replace(@str,'<span>','')
.....
return @str
end
然后查询时调用
step 1: 找到第一个'<'的位置
step 2: 找到与step1中'<'相配的'>'的位置
step 3: 用stuff函数用''值取代"<XXXX>"
step 4: 重复以上的步骤,即可杀掉全文的HTML代码
要是MS SQL支持正则表达式就好了turenjie(拉倒)的方法我也想到了,但是还有个问题,就是"希望得到关键字前后各10个字符"...