em{
font-style:normal;
color:crimson;
background:#DCDCDC;
}
=======================
String str1 = (String)pageContext.getAttribute("title"); String keyword = (String)request.getAttribute("search"); String[] temp = keyword.split("\\s+"); String ns = null; int begin = str1.indexOf(temp[0]); if(begin > 15) ns = str1.substring(begin -15, str1.length()); else ns = str1; if(ns.length() > 30) str1 = ns.substring(0, 30); else str1 = ns; for(String str : temp) str1 = str1.replaceAll(str, "<em>" + str + "</em>"); pageContext.setAttribute("title", str1);这里对关键字着色就出了问题:
如果一段文字是这样的:你是我心里的一首歌......
输入的关键字是这样的:你 e那么就会出现这样的结果:<<em>e</em>m>你</<em>e</em>m>是我心里的一首歌......请问这样的问题该如何解决,帖子也不知道该放哪里 暂且放这里吧Best regards.
XiangFang
font-style:normal;
color:crimson;
background:#DCDCDC;
}
=======================
String str1 = (String)pageContext.getAttribute("title"); String keyword = (String)request.getAttribute("search"); String[] temp = keyword.split("\\s+"); String ns = null; int begin = str1.indexOf(temp[0]); if(begin > 15) ns = str1.substring(begin -15, str1.length()); else ns = str1; if(ns.length() > 30) str1 = ns.substring(0, 30); else str1 = ns; for(String str : temp) str1 = str1.replaceAll(str, "<em>" + str + "</em>"); pageContext.setAttribute("title", str1);这里对关键字着色就出了问题:
如果一段文字是这样的:你是我心里的一首歌......
输入的关键字是这样的:你 e那么就会出现这样的结果:<<em>e</em>m>你</<em>e</em>m>是我心里的一首歌......请问这样的问题该如何解决,帖子也不知道该放哪里 暂且放这里吧Best regards.
XiangFang
解决方案 »
- 求罗马数字正则表达式
- 不显示删除回复显示所有回复显示星级回复显示得分回复 A站调用B站的js那么js打开以后是会在A站起作用还是在B站?
- 如何把一个jsp的数组传给js数组?(jsp数组不确定下标的情况阿)情况如下
- 关于JAVASCRIPT的问题。高手给看看吧~
- 大家来说说hibernate
- 有兴趣的朋友过来看看,一个不用插入数据库就可以统计结果的方法?解决就把我所有的分都给.
- hibernate 中的 Entity 类中不能有 对象数组 字段 吗?
- 数据连接的问题(jsp,sql2000),高手们帮帮忙吧!我已经折腾很久了!
- 在Weblogic下,用jsp连mysql数据库,总有问题,请大家指点。在线等!!!!!!!!!!
- 100分求JBUILDER的电子图书下载地址学习用
- 关于一个缓存操作的例子!!!
- IE和FireFox区别
你在替换之前,可以先检查一下temp 数组中有没有e,m,em,有的话,先替换这些敏感字符,然后再替换别的
想你给的代码里,你把关键字这样输入 “e 你”,就没有问题的
替换时不要直接把<em> </em>加到关键字的两边,用另一种比较特殊的符号来代替,这种符号尽可能的即不是内容中可能会出现的,也不是关键字中会出现的,
比如:用|代替<em>,用/|代替</em>,来替换,这样全部替换完后变成:
|你/|是我心里的一首歌...... 这时即使e是关键字,同时也出现在内容中,也不会有问题:
你是我心里的一首歌..e....就会变成:
|你/|是我心里的一首歌..|e/|....
等所有的关键字全部替换完后,再用<em>代替|,用</em>代替/|,最后一次成型肯定不会有问题。
当然,这里只是打个比方,并不是说|与/|在内容中或是关键字中肯定不会出现,只是一个思路,具体用什么样的符号,即使内容中出现的要用的符号,用什么样的方法解决,那是另一回事,至少有个思路,解决的方法可以这样:如果内容中出现了|或/|,将代替的符号重复一次,即不再用|与/|,而改用||与/|/|,直到内容中不会出现为止。这种解决方法也只是个提议。转义呀等等,LZ都可以思考一下。