如图所示,现在的要求是打印或者显示的时候绿色标记的文字不要显示出来,其他的包括格式不变。
,保存在数据库的内容如下
<p style="font-weight:bold;text-decoration:underline;"><span style="font-size:12px;">${wthzxy_培训项目条款增加}</span></p>
<p style="font-weight:bold;text-decoration:underline;"><span style="font-size:24px;"><br />
</span></p>
<p style="font-weight:bold;text-decoration:underline;"></p>
<p><span style="font-size:12px;font-weight:bold;">二<span style="color:#000000;font-size:12px;">、</span><span style="color:#000000;font-size:12px;"><span style="color:#000000;font-size:12px;">培训费</span>用</span><span style="color:#000000;font-size:12px;">及支付方式</span></span><span style="color:#006600;font-size:24px;"><span style="color:#009900;font-size:12px;"><span style="color:#009900;font-size:12px;">(</span>请选择</span><span style="color:#009900;font-size:12px;">一线一</span><span style="color:#009900;font-size:12px;">种在左侧中划√,同时仅保留选定的条款)</span></span></p>
<p><span style="font-size:24px;"><span style="font-size:12px;">1. 本项目的培训费用为:</span><span style="font-size:12px;font-weight:bold;text-decoration:underline;">${wthzxy_培训费用_元/人}${wthzxy_培训费用_元/班}</span><span style="font-size:12px;">元/人</span><span style="font-size:12px;">,大写为人民币${pu_预留字段4}<span style="color:#006600;font-size:12px;">(<span style="color:#009900;font-size:12px;">此处填写“每班</span></span><span style="color:#009900;font-size:12px;">”或“每人</span><span style="color:#009900;font-size:12px;">”</span><span style="color:#009900;font-size:12px;">)</span></span><span style="font-size:12px;font-weight:bold;text-decoration:underline;">${wthzxy_培训费用大写金额}</span><span style="font-size:12px;">。学员人数${pu_预留字段5}<span style="color:#009900;font-size:12px;">(此处填写“不少于<span style="color:#009900;font-size:12px;">”或“不多于</span></span><span style="color:#009900;font-size:12px;">”)</span></span><span style="font-size:12px;font-weight:bold;text-decoration:underline;">${wthzxy_最低开班人数}</span><span style="font-size:12px;font-weight:bold;text-decoration:underline;">${wthzxy_最多开班人数}</span><span style="font-size:12px;">人。如果甲方学员未满足人数限制,乙方有权不开班。</span></span></p>
<p><span style="font-size:12px;"><b><span style="font-size:12px;"> </span></b>本项目培训费主要用于:</span><span style="font-size:12px;font-weight:bold;text-decoration:underline;">${wthzxy_培训费用主用途}</span><span style="font-size:12px;">,<span style="color:#009900;">(</span><span style="font-family:宋体;color:#009900;font-size:9pt;mso-bidi-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-ansi-language:EN-US;mso-ascii-font-family:Tahoma;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA;mso-fareast-theme-font:minor-fareast;">此处填写:</span><span style="font-family:宋体;color:#009900;font-size:9pt;mso-bidi-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';mso-ansi-language:EN-US;mso-ascii-font-family:'Times New Roman';mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA;mso-fareast-theme-font:minor-fareast;">课程研发费、授课费、教学管理费、教学场地设备使用费、教材资料费、讲义制作费、证书制作费等)</span>不包含学员的食宿交通费用。</span><span style="font-size:12px;">学员培训期间食宿由乙方协助安排,费用由甲方或甲方学员自理。</span></p>
<p><span style="font-size:12px;">2. 支付培训费及开具发票方式如下</span><span style="line-height:36px;color:#009900;font-size:12px;">(请选择一种在左侧框中划√,同时仅保留选定的条款)</span><span style="font-size:12px;">:</span></p>
<p><span style="font-size:12px;">${wthzxy_支付方式}</span></p>
<p></p>
<p></p>
现在的做法是根据和”color:#009900″标记查找标记的文本,然后截取掉,但是总是bug,有部分绿色字体没有截取掉,显示出来或者多一个>, 不知道有什么更好的办法
private String getRemoveMarkContent(String content, StringBuilder newCon) {
int i = content.indexOf("color:#009900");
// 绿色标记前面的文字
String s1 = content.substring(0, i);
s1 = s1.substring(0, s1.lastIndexOf("<span"));
// 剩余文字
String s2 = content.substring(i);
int j = s2.indexOf("</span>");
// 剩余文字除去第一次出现的绿色文字
String s3 = s2.substring(j + 7);
newCon = newCon.append(s1);
int flag = s3.indexOf("color:#009900");
if (flag > 0) {
getRemoveMarkContent(s3, newCon);
} else {
newCon.append(s3);
}
return newCon.toString();
}
这是我写的java去除绿色标记代码,经过测试,发现在绿色嵌套中会出现问题, 如下面这段代码
<span style="color:#009900;font-size:12px;">(委托<span style="color:#009900;font-size:12px;">方</span>全称,确保具有独立签署合同的资质或拥有相应的授权)</span></p>
正在改,另外发现使用报表导出成pdf或者word时,遇到
标记都会打印成如下图所示
要截取掉的和保留的区别只有这个颜色的区别,只能通过去掉颜色为#009900的,或者只保留没有color字段或者颜色不是#009900的字段。
我觉得还是把你截取的方法提供出来,让大家给你看看有什么问题。
OK了,我用JS替换了,其实这没啥问题问题是,绿色有两个值,一个是#009900; 一个是#006600;
正文完