正如本站实用的文本编辑器一样,某程序后台也使用了UEditor,对UEditor进行了改造,目的是只保留UEditor的图片和附件上传功能。
由于涉及到Word导出功能,在进行Word导出的时候,会把附件的名称导出到Word中,但只是附件名字,需要去掉。
方法就是把文本中所有A标签去掉即可,因为所谓的附件,在UEditor中其实就是把文件上传后,生成了一个超链接。这里实用正则,把文本中的A标签替换为空。
代码如下:
str.replaceAll("<a href=\"(.*?)\".*?>(.*?)</a>", "")
A标签的匹配,忽略A标签中的其他属性。
测试代码:
public class T { public static void main(String[] args) { String str = "<p>1111111111111111</p><p><img src=\"http://localhost:8080/mybug/static/ueditor/jsp/upload/20151019/1445263285900.png\" title=\"bd_logo1.png\"/></p><p style=\"line-height: 16px;\"><img src=\"http://localhost:8080/mybug/static/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif\"/><a href=\"http://localhost:8080/mybug/static/ueditor/jsp/upload/20151019/1445263309738.txt\">db.txt</a></p><p><br/></p>"; System.out.println(str.replaceAll("<a href=\"(.*?)\".*?>(.*?)</a>", "")); } }
运行后:
<p>1111111111111111</p><p><img src="http://localhost:8080/mybug/static/ueditor/jsp/upload/20151019/1445263285900.png" title="bd_logo1.png"/></p><p style="line-height: 16px;"><img src="http://localhost:8080/mybug/static/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif"/></p><p><br/></p>
结束。
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。
发表评论: