1

奇妙な文字 (Word などから) がデータベースのフィールドに入り、そのフィールドを表示すると偽の文字が表示されるという問題があります。

正規表現で非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 に答える