发明内容
本发明实施例的目的在于提供一种待粘贴对象的处理方法及装置,以解决现有技术中将待粘贴对象的布局格式滤除的问题。
为达到上述目的,本发明实施例公开了一种待粘贴对象的处理方法及装置。技术方案如下:
第一方面,本发明实施例提供了一种待粘贴对象的处理方法,包括:
接收粘贴指令,确定待粘贴对象及粘贴目标位置;
对所述待粘贴对象的源代码进行分析,滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息,得到保留格式的待粘贴对象;
根据所述保留格式的待粘贴对象的源代码,将所述保留格式的待粘贴对象粘贴到目标位置。
优选的,所述滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息,得到保留格式的待粘贴对象,具体包括:
对所述待粘贴对象遍历源代码,将遍历到的格式标签以外的标签、以及格式标签中的属性信息滤除,得到保留格式的待粘贴对象。
优选的,所述滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息,得到保留格式的待粘贴对象,具体包括:
对所述待粘贴对象遍历源代码,标记遍历到的所述源代码中的非格式标签、以及格式标签中的属性信息,滤除所述源代码中标记的非格式标签、以及格式标签中的属性信息,得到保留格式的待粘贴对象。
优选的,所述滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息,得到保留格式的待粘贴对象,具体包括:
利用正则表达式将所述待粘贴对象源代码中的格式标签分别替换成自定义标签,得到替换后的待粘贴对象;所述自定义标签具有区别于所述待粘贴对象源代码的标签表述形式;
滤除所述替换后的待粘贴对象源代码中的自定义标签以外的标签,得到滤除后的待粘贴对象;
将所述滤除后的待粘贴对象源代码中的自定义标签表述形式,恢复为所述待粘贴对象源代码的标签表述形式,得到保留格式的待粘贴对象。
优选的,还包括:
在接收到所述粘贴指令后,将所述待粘贴对象粘贴到预先设置的第二目标位置中,以使得在所述第二目标位置中对所述待粘贴对象进行处理,所述第二目标位置的属性为隐藏。
第二方面,本发明实施例还提供了一种待粘贴对象的处理装置,包括:
确定单元,用于接收粘贴指令,确定待粘贴对象及粘贴目标位置;
分析单元,用于对所述待粘贴对象的源代码进行分析;
滤除单元,用于滤除所述源代码中格式标签以外的标签,得到保留格式的待粘贴对象;
第一粘贴单元,用于根据所述保留格式的待粘贴对象的源代码,将所述保留格式的待粘贴对象粘贴到目标位置。
优选的,所述滤除单元,包括:
第一遍历子单元,用于对所述待粘贴对象遍历源代码;
第一滤除子单元,用于将遍历到的格式标签以外的标签、以及格式标签中的属性信息滤除,得到保留格式的待粘贴对象。
优选的,所述滤除单元,包括:
第二遍历子单元,用于对所述待粘贴对象遍历源代码;
标记子单元,用于标记遍历到的所述源代码中的非格式标签、以及格式标签中的属性信息;
第二滤除子单元,用于滤除所述源代码中标记的非格式标签、以及格式标签中的属性信息,得到保留格式的待粘贴对象。
优选的,所述滤除单元,包括:
替换子单元,用于利用正则表达式将所述待粘贴对象源代码中的格式标签分别替换成自定义标签,得到替换后的待粘贴对象;所述自定义标签具有区别于所述待粘贴对象源代码的标签表述形式;
第三滤除子单元,用于滤除所述替换后的待粘贴对象源代码中的自定义标签以外的标签,得到滤除后的待粘贴对象;
恢复子单元,用于将所述滤除后的待粘贴对象源代码中的自定义标签表述形式,恢复为所述待粘贴对象源代码的标签表述形式,得到保留格式的待粘贴对象。
优选的,还包括:
第二粘贴单元,用于在接收到所述粘贴指令后,将所述待粘贴对象粘贴到预先设置的第二目标位置中,以使得所述分析单元和所述滤除单元在所述第二目标位置中对所述待粘贴对象进行处理,所述第二目标位置的属性为隐藏。
本发明通过提供一种待粘贴对象的处理方法及装置,通过对待粘贴对象的源代码进行分析,滤除了源代码中格式标签以外的标签、以及格式标签中的属性信息,从而得到了保留格式的待粘贴对象中,将该保留格式的待粘贴对象粘贴到目标位置中,通过格式准确表述了用户的原有意图。
具体实施方式
根据现有技术通过将待粘贴对象的树状节点逐层遍历,从而将待粘贴对象中的所有标签滤除,然而该方法在将标签滤除后的待粘贴对象粘贴到网页输入框时。用户由于遍历过程中,没有记录原待粘贴对象的布局格式,如换行、空格等,因此不能够表述用户的原有意图。
为了解决上述问题,本发明实施例提供了一种待粘贴对象的处理方法,该方法包括:
接收粘贴指令,确定待粘贴对象及粘贴目标位置;
对所述待粘贴对象的源代码进行分析,滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息,得到保留格式的待粘贴对象;
根据所述保留格式的待粘贴对象的源代码,将所述保留格式的待粘贴对象粘贴到目标位置。
本发明提供的一种待粘贴对象的处理方法,该方法所应用的系统,可以是服务器,也可以是除服务器以外的具有类似功能的设备。通过对待粘贴对象的源代码进行分析,滤除了源代码中格式标签以外的标签、以及格式标签中的属性信息,从而得到了保留格式的待粘贴对象中,将该保留格式的待粘贴对象粘贴到目标位置中,通过格式准确表述了用户的原有意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种待粘贴对象的处理方法的流程示意图,该方法可以包括以下步骤:
S101,接收粘贴指令,确定待粘贴对象及粘贴目标位置;
在本发明实施例中,待粘贴对象的内容可以包括:文字、图片、标点符号或布局格式。
其中,布局格式为待粘贴对象布局,如空格、换行等。
用户复制待粘贴对象,从而使得待粘贴对象粘贴到粘贴板中;当用户粘贴该待粘贴对象时,触发向系统发送粘贴指令,系统接收该粘贴命令,并根据该粘贴命令确定待粘贴对象及粘贴目标位置。
其中,在粘贴板中以源代码的形式来表述待粘贴对象。
S102,对所述待粘贴对象的源代码进行分析,滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息,得到保留格式的待粘贴对象;
由于现有技术将待粘贴对象的源代码中的所有标签均滤除了,也未保留待粘贴对象的布局格式,因此本发明实施例在对待粘贴对象进行处理时,滤除待粘贴对象的源代码中格式标签以外的标签、以及格式标签中的属性信息,保留待粘贴对象的格式。
在本发明实施例中,所述滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息,可以利用下面几种方案来实现:
1)对所述待粘贴对象遍历源代码,将遍历到的格式标签以外的标签、以及格式标签中的属性信息滤除,得到保留格式的待粘贴对象。
通过遍历待粘贴对象的源代码,当遍历到非格式标签时,则滤除该非格式标签,当遍历到格式标签时,则保留该格式标签,并将包括属性信息的格式标签中的属性信息滤除,从而得到保留格式的待粘贴对象。
2)对所述待粘贴对象遍历源代码,标记遍历到所述源代码中的非格式标签、以及格式标签中的属性信息,滤除所述源代码中标记的非格式标签、以及格式标签中的属性信息,得到保留格式的待粘贴对象。
其中,标记遍历到所述源代码中的非格式标签、以及格式标签中的属性信息,该标记可以是HTML语言的一个通用标签,通过对所述待粘贴对象中的非格式标签、以及格式标签中的属性信息进行标记,从而能够更容易查找被标记的非格式标签、以及格式标签中的属性信息。通过将所述待粘贴对象的源代码中标记的非格式标签、以及格式标签中的属性信息滤除,得到保留格式标签的待粘贴对象。
3)步骤a,利用正则表达式将所述待粘贴对象源代码中的格式标签分别替换成自定义标签,得到替换后的待粘贴对象;所述自定义标签具有区别于所述待粘贴对象源代码的标签表述形式;
步骤b,滤除所述替换后的待粘贴对象源代码中的自定义标签以外的标签,得到滤除后的待粘贴对象;
步骤c,将所述滤除后的待粘贴对象源代码中的自定义标签表述形式,恢复为所述待粘贴对象源代码的标签表述形式,得到保留格式的待粘贴对象。
其中,正则表达式为预先设定的所述待粘贴对象源代码中的格式标签与自定义标签的替换关系。
该正则表达式可以为:
1.将源代码中的“[”和“]”分别替换成“[[-”和“-]]”;
2.将源代码中定义表格中一行的“tr”标签替换成换行“[br]”标签;
3.将源代码中定义表格中一列的“td”标签替换成定义列之间空白“ ”标签;
4.将源代码中定义无序列表的“ul”标签、定义列表的“dl”标签和定义有序列表的“ol”标签替换成换行“[br]”标签;
5.将源代码中的定义列表项目的“li”和定义列表中定义条目的定义部分的“dd”标签替换成换行“[br]”标签;
6.将源代码中的定义段落“p”标签替换成换行“[br]”标签;
7.将源代码中的向网页中嵌入一幅图像“img”标签中src是本站的表情图片的替换成“[img src=XXX]”;
8.将源代码中的所有“<*>”替换为空;
9.将源代码中的所有“[[-”和“-]]”分别替换成“[”和“]”;
10.最后将所有的“[br|img]”替换成<br|img>。
其中,上述替换之前源代码中的标签为格式标签,替换之后的标签为自定义标签。
对于滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息,可以使用上述3种方案中的一种,也可以使用除上述3种方案以外的可以达到滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息的方案,在此,本发明实施例对此不作具体限定。
S103,根据所述保留格式的待粘贴对象的源代码,将所述保留格式的待粘贴对象粘贴到目标位置。
在本发明实施例中,还可以包括以下步骤:在接收到所述粘贴指令后,将所述待粘贴对象粘贴到预先设置的第二目标位置中,以使得在所述第二目标位置中对所述待粘贴对象进行处理,所述第二目标位置的属性为隐藏。
上述步骤位于S101之后,S102之前,且S102中对所述待粘贴对象的源代码进行分析的过程是在预先设置的第二目标位置里实现的,且S103中根据所述保留格式的待粘贴对象的源代码,将所述保留格式的待粘贴对象粘贴到目标位置,是将第二目标位中的所述保留格式的待粘贴对象粘贴对目标位置。其中,所述第二目标位置的属性为隐藏,从而使得用户在复制待粘贴对象,并将得到的保留格式的待粘贴对象粘贴到目标位置的过程中,可以看到的只是目标位置,不会造成页面布局的紊乱。
本发明实施例通过提供的一种待粘贴对象的处理方法,通过对待粘贴对象的源代码进行分析,滤除了源代码中格式标签以外的标签、以及格式标签中的属性信息,从而得到了保留格式的待粘贴对象中,将该保留格式的待粘贴对象粘贴到目标位置中,通过格式准确表述了用户的原有意图。另外,当待粘贴对象中包括目标位置不识别的图片时,该方法还可以将该目标位置不识别的图片滤除,从而保证待粘贴对象在目标位置的正确显示。
下面结合一个具体的实例,对本发明的方案进行说明:
根据S101,接收粘贴指令,确定待粘贴对象如图2所示,以及粘贴目标位置;
其中,所述待粘贴对象的源代码为:
“<a href="http://rc.qzone.qq.com/qzonesoso/?search=%E5%9C%A3%E8%AF%9E%E8%8A%82"target="_blank"style="color:rgb(217,159,43);text-decoration:none;margin:0px;padding:0px;cursor:pointer;font-family:ff-tisa-web-pro-1,ff-tisa-web-pro-2,'Lucida Grande','Hiragino Sans GB','Hiragino SansGB W3';font-size:14px;line-height:22px;background-color:rgb(255,253,243);">#圣诞节#</a><span style="color:rgb(77,57,38);font-family:ff-tisa-web-pro-1,ff-tisa-web-pro-2,'Lucida Grande','Hiragino Sans GB','Hiragino Sans GBW3';font-size:14px;line-height:22px;background-color:rgb(255,253,243);">圣诞快乐!</span><img src="https://qing.wps.cn/static/images/emoticons/expression/happy.png"alt="开心"style="border:0px;margin:0px1px;width:24px;height:24px;vertical-align:top;color:rgb(18,19,21);font-family:'MicrosoftYaHei',微软雅黑,Helvetica,Tahoma,Arial,SimSun,宋体,sans-serif;font-size:12px;line-height:24px;background-color:rgb(243,245,248);">[嘿嘿]<tableborder="1"><tbody><tr><td>表格标题1</td><td>表格标题2</td></tr><tr><td>内容1</td><td>内容2</td></tr></tbody></table>”。
根据S102,对上述源代码进行分析,并将上述源代码中的“[嘿嘿]”替换成“[[-嘿嘿-]]”;
将“<table border="1"><tbody><tr><td>表格标题1</td><td>表格标题2</td></tr><tr><td>内容1</td><td>内容2</td></tr></tbody></table>”中的标签相应替换成,
“<table border="1"><tbody>[br] 表格标题1</td> 表格标题2</td></tr>[br] 内容1</td> 内容2</td></tr></tbody></table>”;
将“<img src="https://qing.wps.cn/static/images/emoticons/expression/happy.png"alt="开心"style="border:0px;margin:0px1px;width:24px;height:24px;vertical-align:top;color:rgb(18,19,21);font-family:'Microsoft YaHei',微软雅黑,Helvetica,Tahoma,Arial,SimSun,宋体,sans-serif;font-size:12px;line-height:24px;background-color:rgb(243,245,248);">”替换成,
“[img src="https://qing.wps.cn/static/images/emoticons/expression/happy.png"alt="开心"]”;
由于上述源代码中带有css样式及一些不必要的标签及属性信息,因此滤除上述源代码中替换成的自定义标签以外的标签,滤除过程结束后,将所述滤除后的待粘贴对象源代码中的自定义标签表述形式,恢复为所述待粘贴对象源代码的标签表述形式,得到保留格式的待粘贴对象,该保留格式的待粘贴对象的源代码为:“#圣诞节#圣诞节快乐!<imgsrc="https://qing.wps.cn/static/images/emoticons/expression/happy.png"alt="开心">[嘿嘿]<br>表格标题1 表格标题2<br>内容1 内容2”。
根据S103,根据所述保留格式的待粘贴对象的源代码,将所述保留格式的待粘贴对象粘贴到目标位置,其中,该保留格式的待粘贴对象如图3所示。
本发明实施例中,当待粘贴对象中包括目标位置不识别的图片时,该方法还可以将该目标位置不识别的图片滤除,从而保证待粘贴对象在目标位置的正确显示。
相应于上面的方法实施例,本发明还提供一种待粘贴对象的处理装置,如图4所示,该装置可以包括:
确定单元401,用于接收粘贴指令,确定待粘贴对象及粘贴目标位置;
在本发明实施例中,待粘贴对象的内容可以包括:文字、图片、标点符号或布局格式。
其中,布局格式为待粘贴对象布局,如空格、换行等。
用户复制待粘贴对象,从而使得待粘贴对象粘贴到粘贴板中;当用户粘贴该待粘贴对象时,触发向系统发送粘贴指令,系统接收该粘贴命令,并根据该粘贴命令确定待粘贴对象及粘贴目标位置。
其中,在粘贴板中以源代码的形式来表述待粘贴对象。
分析单元402,用于对所述待粘贴对象的源代码进行分析;
滤除单元403,用于滤除所述源代码中格式标签以外的标签,得到保留格式的待粘贴对象;
由于现有技术将待粘贴对象的源代码中的所有标签均滤除了,也未保留待粘贴对象的布局格式,因此本发明实施例在对待粘贴对象进行处理时,滤除待粘贴对象的源代码中格式标签以外的标签、以及格式标签中的属性信息,保留待粘贴对象的格式。
在本发明实施例中,所述滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息,可以利用下面几种方案来实现:
1)对所述待粘贴对象遍历源代码,将遍历到的格式标签以外的标签、以及格式标签中的属性信息滤除,得到保留格式的待粘贴对象。
通过遍历待粘贴对象的源代码,当遍历到非格式标签时,则滤除该非格式标签,当遍历到格式标签时,则保留该格式标签,并将包括属性信息的格式标签中的属性信息滤除,从而得到保留格式的待粘贴对象。
2)对所述待粘贴对象遍历源代码,标记遍历到所述源代码中的非格式标签、以及格式标签中的属性信息,滤除所述源代码中标记的非格式标签、以及格式标签中的属性信息,得到保留格式的待粘贴对象。
其中,标记遍历到所述源代码中的非格式标签、以及格式标签中的属性信息,该标记可以是HTML语言的一个通用标签,通过对所述待粘贴对象中的非格式标签、以及格式标签中的属性信息进行标记,从而能够更容易查找被标记的非格式标签、以及格式标签中的属性信息。通过将所述待粘贴对象的源代码中标记的非格式标签、以及格式标签中的属性信息滤除,得到保留格式标签的待粘贴对象。
3)步骤a,利用正则表达式将所述待粘贴对象源代码中的格式标签分别替换成自定义标签,得到替换后的待粘贴对象;所述自定义标签具有区别于所述待粘贴对象源代码的标签表述形式;
步骤b,滤除所述替换后的待粘贴对象源代码中的自定义标签以外的标签,得到滤除后的待粘贴对象;
步骤c,将所述滤除后的待粘贴对象源代码中的自定义标签表述形式,恢复为所述待粘贴对象源代码的标签表述形式,得到保留格式的待粘贴对象。
其中,正则表达式为预先设定的所述待粘贴对象源代码中的格式标签与自定义标签的替换关系。
该正则表达式可以为:
1.将源代码中的“[”和“]”分别替换成“[[-”和“-]]”;
2.将源代码中定义表格中一行的“tr”标签替换成换行“[br]”标签;
3.将源代码中定义表格中一列的“td”标签替换成定义列之间空白“ ”标签;
4.将源代码中定义无序列表的“ul”标签、定义列表的“dl”标签和定义有序列表的“ol”标签替换成换行“[br]”标签;
5.将源代码中的定义列表项目的“li”和定义列表中定义条目的定义部分的“dd”标签替换成换行“[br]”标签;
6.将源代码中的定义段落“p”标签替换成换行“[br]”标签;
7.将源代码中的向网页中嵌入一幅图像“img”标签中src是本站的表情图片的替换成“[img src=XXX]”;
8.将源代码中的所有“<*>”替换为空;
9.将源代码中的所有“[[-”和“-]]”分别替换成“[”和“]”;
10.最后将所有的“[br|img]”替换成<br|img>。
其中,上述替换之前源代码中的标签为格式标签,替换之后的标签为自定义标签。
对于滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息,可以使用上述3种方案中的一种,也可以使用除上述3种方案以外的可以达到滤除所述源代码中格式标签以外的标签、以及格式标签中的属性信息的方案,在此,本发明实施例对此不作具体限定。
第一粘贴单元404,用于根据所述保留格式的待粘贴对象的源代码,将所述保留格式的待粘贴对象粘贴到目标位置。
在本发明实施例中,所述装置还包括第二粘贴单元,用于在接收到所述粘贴指令后,将所述待粘贴对象粘贴到预先设置的第二目标位置中,以使得在所述第二目标位置中对所述待粘贴对象进行处理,所述第二目标位置的属性为隐藏。其中,所述第二目标位置的属性为隐藏,从而使得用户在复制待粘贴对象,并将得到的保留格式的待粘贴对象粘贴到目标位置的过程中,可以看到的只是目标位置,不会造成页面布局的紊乱。
本发明通过提供一种待粘贴对象的处理装置,通过分析单元对待粘贴对象的源代码进行分析,并利用滤除单元滤除了源代码中格式标签以外的标签、以及格式标签中的属性信息,从而利用第一粘贴单元将该保留了格式的待粘贴对象粘贴到网页输入框中,从而准确表述了用户的原有意图。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。