1

文字列内のすべての引用符と二重引用符をエスケープする方法はありますか?

たとえば、次のような文字列がある場合:

Hi my name is 'Shelby"

これを前処理してその文字列をエスケープする方法はありますか?

編集:

多分それは問題への最善のアプローチではありませんでした。これが私が実際にやろうとしていることです。swfファイルを分析するツールがあります(つまりswftools-> swfdump)。しかし、悪意のあるswfファイルの中にはhtmlタグが含まれている場合があり、これらの結果をページに出力しています。では、Pythonでこれらのhtmlタグをサニタイズする方法はありますか?

文字列のサンプル:

(3バイト)アクション:Push Lookup16:443( "title_txt")
 (0バイト)アクション:GetMember
 (6バイト)アクション:Push Lookup16:444( "htmlText")Lookup16:445( "ログイン情報を確認してください。 ")
 (0バイト)アクション:SetMember
 (14バイト)アクション:プッシュint:2 int:1レジスタ:1ルックアップ:30( "login_mc")

それが言うことになっていると言う部分Please check your log infoのために:font color = '#ff0000'

4

2 に答える 2

4

HTMLのサニタイズを行うだけの場合は、次のことを試すことができます。

エスケープタイプをさらに追加する場合は、これがおそらく最も簡単なアプローチです。

def escape(htmlstring):
    escapes = {'\"': '"',
               '\'': ''',
               '<': '&lt;',
               '>': '&gt;'}
    # This is done first to prevent escaping other escapes.
    htmlstring = htmlstring.replace('&', '&amp;')
    for seq, esc in escapes.iteritems():
        htmlstring = htmlstring.replace(seq, esc)
    return htmlstring

これにより、、、、、のすべてのインスタンスが正しいHTMLエスケープコードに置き換えられます&'"<>

HTMLエスケープの詳細:

ウィキペディアのHTMLページ

想像できるすべての脱出

ハッピーエスケープ!

于 2012-07-18T21:51:16.767 に答える