如何在Pango标记中转义字符?

Alv*_*Row 10 python gtk pygtk pango

我的程序有一个gtk.TreeView显示一个gtk.ListStore.在gtk.ListStore包含这样的字符串:

"<span size='medium'><b>"+site_title+"</b></span>"+"\n"+URL
Run Code Online (Sandbox Code Playgroud)

URL(显然)URL字符串在哪里.有时会有字符URL导致pango无法解析标记.

有没有办法逃脱URL作为一个整体,以便pango将忽略它,所以它将按字面显示?如果没有,我应该如何"逃避"URL中的特殊字符?

Ali*_*har 20

glib.markup_escape_text 使用GTK时可能是一种更规范的方法.

  • 在 PyGTK 的最新版本中,它似乎是 [gobject.markup_escape_text](http://www.pygtk.org/pygtk2reference/gobject-functions.html#function-gobject--markup-escape-text) (2认同)

小智 2

您需要转义这些值。我不确定 Pango 需要什么具体格式,但它看起来像 HTML,而cgi.escape函数可能就是您所需要的。

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