Pangoのマークアップ内の文字をエスケープするには?
質問
私のプログラムはgtk.TreeView
を表示gtk.ListStore
を持っています。 gtk.ListStore
は次のように文字列が含まれています:
"<span size='medium'><b>"+site_title+"</b></span>"+"\n"+URL
URL
は(明らかに)URLの文字列です。時には、マークアップを解析するために失敗するPangoの原因URL
の文字があります。
それは文字通り表示されますので、Pangoのはそれを無視するように、全体としてURL
脱出する方法はありますか?そうでない場合、どのように私は、URLに特殊文字を「エスケープ」する必要がありますか?
解決
あなたは値をエスケープする必要があります。私はPangoのに必要な正確などのような形式わからないんだけど、それはHTMLとのように見えますcgi.escape の機能は、あなたが必要とするすべてのかもしれません。
import cgi
print "<span size='medium'><b>%s</b></span>\n%s" %
(cgi.escape(site_title), cgi.escape(URL))
他のヒント
glib.markup_escape_text
する GTKを使用する場合、より正準的なアプローチであってもよい。
所属していません StackOverflow