2009-11-19 4 views
9

내 프로그램의 gtk.ListStore을 표시하는 gtk.TreeView이 있습니다. gtk.ListStore는 다음과 같이 문자열을 포함Pango 마크 업에서 문자를 이스케이프 처리하는 방법은 무엇입니까?

"<span size='medium'><b>"+site_title+"</b></span>"+"\n"+URL 

URL는 (분명히) URL 문자열을. 때로는 URL에 문자가있어 판고가 마크 업을 분석하지 못하게합니다.

URL 전체를 탈출 할 수있는 방법이있어 판고가 그대로 무시하므로 글자 그대로 표시됩니다. 그렇지 않은 경우 URL의 특수 문자를 어떻게 "벗어나"야합니까?

답변

2

값을 이스케이프 처리해야합니다. 나는 Pango가 요구하는 정확한 형식이 무엇인지 모르지만, HTML처럼 보이며 cgi.escape 기능 만 있으면 충분할 것입니다.

import cgi 
print "<span size='medium'><b>%s</b></span>\n%s" % 
     (cgi.escape(site_title), cgi.escape(URL)) 
17

glib.markup_escape_text은 GTK를 사용할 때보다 표준적인 방법 일 수 있습니다.

+1

PyGTK의 최신 버전에서는 [gobject.markup_escape_text] (http://www.pygtk.org/pygtk2reference/gobject-functions.html#function-gobject--markup-escape-text) 인 것처럼 보입니다. –

관련 문제