asp 使用正则表达式替换word中的标签,转为纯文本
程序员文章站
2023-08-26 16:51:06
公司客户在使用网站后台编辑添加修改内容时,经常是直接从word文档里复制内容到编辑器里后就提交。结果是在内容显示页面上是五花八门的样式,有时也需要部分纯文本内容作为摘录使用...
公司客户在使用网站后台编辑添加修改内容时,经常是直接从word文档里复制内容到编辑器里后就提交。结果是在内容显示页面上是五花八门的样式,有时也需要部分纯文本内容作为摘录使用,这些都需要清除word格式。改变客户的习惯要客户先复制到记事本里再粘贴到编辑器里编辑是很难的,所以从我们自己改变起。从网上百度了若干清除word格式的正则,使用效果不甚理想,所以自己写了清除word格式的asp函数,能满足我们自己的使用需求。函数如下:
function cleanword(html)
dim regex
set regex=new regexp
regex.ignorecase=true
regex.global=true
regex.pattern="<[^>]*>" '清除所有<>之间的内容
html = regex.replace(html,"" )
regex.pattern="{[^}]*}" '清除所有{}之间的内容
html = regex.replace(html,"" )
regex.pattern="/[^/]*/" '清除所有/**/之间的注释
html = regex.replace(html,"" )
html =replace(html,"table.msonormaltable","") '替换掉漏网的单词
cleanword= html
set regex=nothing
end function
复制代码 代码如下:
function cleanword(html)
dim regex
set regex=new regexp
regex.ignorecase=true
regex.global=true
regex.pattern="<[^>]*>" '清除所有<>之间的内容
html = regex.replace(html,"" )
regex.pattern="{[^}]*}" '清除所有{}之间的内容
html = regex.replace(html,"" )
regex.pattern="/[^/]*/" '清除所有/**/之间的注释
html = regex.replace(html,"" )
html =replace(html,"table.msonormaltable","") '替换掉漏网的单词
cleanword= html
set regex=nothing
end function