2 wjh penglei wjh_penglei 于 2016.01.26 09:48 提问

mybatis 中正则问题 跪求助 5C

大侠们,我要在mybatis 的sql中写正则去掉html标签,但是标签中含有问号信息。
数据库操作会将问号 视为 传参的标识,如何化解 求助,如下(**_里面的问号为变成null_**):

    <![CDATA[
  select  "REGEXP_REPLACE"("REGEXP_REPLACE"(content,'<at>.+?</at>',''),'</?[^>]+>*','')  hehe 
  from sns_search_view  
  order by create_date desc 
   ]]>

9个回答

rui888
rui888   Ds   Rxr 2016.01.26 10:01

直接 regexp_replace(content, '<.+?>') 不可以吗?

wjh_penglei
wjh_penglei 用这个也可以,但是你这里面也包含问号啊,问号在mybatis里面 是会被传参的,而不会当做正则的问号
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.01.26 10:02

可不可以举个例子看看。。

wjh_penglei
wjh_penglei 就像我上面写的那个sql一样,现在的问题是把问号这个问题解决
接近 2 年之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.01.26 13:21

你是不是弄复杂了,,,

wjh_penglei
wjh_penglei 额 sql里面处理html 还有其他方式吗,现在不考虑程序处理html标签。现在的问题是解决问号被当成入参
接近 2 年之前 回复
zmj1049933053
zmj1049933053   2016.01.26 14:46

字段名是可以通过参数传进去的呀 可以现在service层把html的标签去掉了 再传入就可以了吧
传入动态表名、字段名可以参考这个
http://luoyu-ds.iteye.com/blog/1517607

zmj1049933053
zmj1049933053   2016.01.26 14:46

字段名是可以通过参数传进去的呀 可以现在service层把html的标签去掉了 再传入就可以了吧
传入动态表名、字段名可以参考这个
http://luoyu-ds.iteye.com/blog/1517607

zmj1049933053
zmj1049933053   2016.01.26 14:46

字段名是可以通过参数传进去的呀 可以现在service层把html的标签去掉了 再传入就可以了吧
传入动态表名、字段名可以参考这个
http://luoyu-ds.iteye.com/blog/1517607

zmj1049933053
zmj1049933053   2016.01.26 14:46

字段名是可以通过参数传进去的呀 可以现在service层把html的标签去掉了 再传入就可以了吧
传入动态表名、字段名可以参考这个
http://luoyu-ds.iteye.com/blog/1517607

zmj1049933053
zmj1049933053   2016.01.26 14:46

字段名是可以通过参数传进去的呀 可以现在service层把html的标签去掉了 再传入就可以了吧
传入动态表名、字段名可以参考这个
http://luoyu-ds.iteye.com/blog/1517607

zmj1049933053
zmj1049933053 回复honeyBack: 好吧,你是想将取出来的数据去掉html标签,,,看错了
接近 2 年之前 回复
wjh_penglei
wjh_penglei 动态传入 问号 也会当成入参标识的 ,问题是怎么解决掉问号
接近 2 年之前 回复
wjh_penglei
wjh_penglei 现在是把标签去掉之后 like 某个传入的参数,数据库的内容包含标签,所以只能在数据库里去掉后匹配。如果把所有的内容查出来再正则的话,内容太多了
接近 2 年之前 回复
zmj1049933053
zmj1049933053   2016.01.26 14:48

抱歉,网站卡了 一下子回复这么多条

Csdn user default icon
上传中...
上传图片
插入图片