python - 使用 python 以 CSS 方式编码字符串

标签 python css string

python 中是否有一个函数或包可用于根据确保它可以用作 CSS string 对字符串进行编码? ?它需要转义所有单引号和双引号以及反斜杠,并用 \A 替换换行符。

例如:

This is "it", isn't\
it?

应转换为

This is \"it\", isn't\\\A it?

非 ASCII 字符可以保留不变,如果它们被打印为 utf-8。

最佳答案

查看规则,所有需要转义的是引号(单引号和双引号)和换行符。该标准没有提到它,但这可能也必须扩展到反斜杠字符(通过检查 MDN on the <string> data type 确认)。

正则表达式可以做到这一点:

re.sub(r'''['"\n\\]''', lambda m: '\\{:X} '.format(ord(m.group())), inputstring)

这会将 4 个字符转义为明确的十六进制转义; {escape} macro uses the space after the escape to delineate the escape from any content following it .这是最实用的选择;它会产生一个有效的 CSS 字符串值。

演示:

>>> import re
>>> inputstring = '''This is "it", isn't\nit?'''
>>> re.sub(r'''['"\n\\]''', lambda m: '\\{:X} '.format(ord(m.group())), inputstring)
'This is \\22 it\\22 , isn\\27 t\\A it?'
>>> print(re.sub(r'''['"\n\\]''', lambda m: '\\{:X} '.format(ord(m.group())), inputstring))
This is \22 it\22 , isn\27 t\A it?

关于python - 使用 python 以 CSS 方式编码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25699819/

相关文章:

javascript - 网页上的可关闭元素

javascript - 在 Perl CGI 脚本中捕获 iframe 返回值

python - 象棋的python或C

python - Flask 在使用蓝图静态路由时为蓝图静态文件引发 404

2 个文件的 Python difflib,行号不正确

html - 可滚动容器内的表格仍然导致容器宽度增加

string - Lua:尝试对字符串值执行算术运算

regex - 如何在 Ruby 字符串中替换正则表达式匹配之外的内容?

string - python : Printing unicode characters beyond FFFF

python - 是否可以在Python中运行实例变量