1

我有一个问题,奇数字符(来自 Word 等)进入数据库中的一个字段,然后当我显示该字段时,它显示的是虚假字符。

是否可以使用 RegEx 删除任何非 ASCII 字符?显然,我希望人们仍然能够使用任何特殊字符,例如 !@£$%^&*()_-+= 等,而不是非 ASCII 字符。

如果有人可以提供帮助,那就太好了!

非常感谢!

更新:这是在 CLASSIC ASP 中。

4

1 回答 1

0

为了完成这项任务,您需要构建各种正则表达式并在将记录插入数据库之前通过子例程调用执行它们。

这是1stclassmedia解释的摘录。

str = str.replace( /\s*FONT-FAMILY:[^;"]*;?/gi, "" ) ;
str = str.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
str = str.replace( /<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3" ) ;
str = str.replace( /\s*style="\s*"/gi, '' ) ; 
str = str.replace( /<SPAN\s*[^>]*>\s*&nbsp;\s*<\/SPAN>/gi, '&nbsp;' ) ; 
str = str.replace( /<SPAN\s*[^>]*><\/SPAN>/gi, '' ) ; 
str = str.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ; 
str = str.replace( /<SPAN\s*>(.*?)<\/SPAN>/gi, '$1' ) ; 
str = str.replace( /<FONT\s*>(.*?)<\/FONT>/gi, '$1' ) ;
//some RegEx code for the picky browsers
var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ;
str = str.replace( re, "<div$2</div>" ) ;
var re2 = new RegExp("(<font|<FONT)([^*>]*>.*?)(<\/FONT>|<\/font>)","gi") ; 
str = str.replace( re2, "<div$2</div>") ;
str = str.replace( /size|SIZE = ([\d]{1})/g, '' ) ;
于 2012-05-16T21:45:01.633 回答