如何转义 Pango 标记中的字符?
我的程序有一个 gtk.TreeView
,它显示一个 gtk.ListStore
。 gtk.ListStore
包含如下字符串:
"<span size='medium'><b>"+site_title+"</b></span>"+"\n"+URL
其中 URL
是(显然)一个 URL 字符串。有时,URL
中的某些字符会导致 pango 无法解析标记。
有没有办法将 URL
整体转义,以便 pango 忽略它,从而按字面显示?如果不是,我应该如何“转义”网址中的特殊字符?
My program has a gtk.TreeView
which displays a gtk.ListStore
. The gtk.ListStore
contains strings like this:
"<span size='medium'><b>"+site_title+"</b></span>"+"\n"+URL
Where URL
is (obviously) a URL string. Sometimes there are characters in URL
that cause pango to fail to parse the markup.
Is there a way to escape URL
as a whole so that pango will just ignore it so it will be displayed literally? If not, how should I "escape" special characters in URLs?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
glib.markup_escape_text
可能是更规范的方法。
glib.markup_escape_text
may be a more canonical approach when using GTK.您需要转义这些值。我不确定 Pango 需要什么确切格式,但它看起来像 HTML 和 cgi.escape 函数可能就是您所需要的。
You need to escape the values. I'm not sure what exact format Pango requires, but it looks like HTML and the cgi.escape function may be all you need.
//编辑队列已满,因此请在此处发布
来自
PyGObject
demo
py api 文档的
GLib.markup_escape_text
https://lazka.github.io/pgi -docs/#GLib-2.0/functions.html#GLib.markup_escape_text
https://pygobject.readthedocs.io
c api 文档
https://docs.gtk.org/glib/func.markup_escape_text.html
//edit queue is full, so post here
GLib.markup_escape_text
fromPyGObject
demo
py api docs
https://lazka.github.io/pgi-docs/#GLib-2.0/functions.html#GLib.markup_escape_text
https://pygobject.readthedocs.io
c api docs
https://docs.gtk.org/glib/func.markup_escape_text.html