zoukankan      html  css  js  c++  java
  • 关于webpy模板自动HTML转义的问题

    注意: web.py 将会转义任何任何用到的变量,所以当你将 name 的值设为是一段 HTML 时,它会被转义显示成纯文本。如果要关闭该选项,可以写成 $:name 来代替 $name

    如果我们想部分转移,怎么办?

    webpy显然提供了转移函数,我们在应用层直接调用就可以了。

    from web.net import htmlquote

    htmlquote(raw_text)

    -------------------------------

    1. #/usr/bin/python
    2. #coding=utf-8
    3. import HTMLParser
    4. import sys
    5. reload(sys)
    6. sys.setdefaultencoding('utf-8')
    7. html_parser = HTMLParser.HTMLParser()
    8. title = 'eclipse功能<template>学习。e.g : 快速在代码中插入时间戳 - SegmentFault'
    9. newtitle = html_parser.unescape(title)
    10. print newtitle 
    11. 需要载入sys模块,重新设置默认编码为utf8,就不会出错了。不过要处理的内容只不过是一个文章的title部分,而常用的html转义内容也就如下几个
    12. 于是决定使用python的replace功能实现一个简单的转义功能函数,具体如下:

      1. #/usr/bin/python
      2. #coding=utf-8
      3. def replace_html(s):
      4. s = s.replace('"','"')
      5. s = s.replace('&','&')
      6. s = s.replace('&lt;','<')
      7. s = s.replace('&gt;','>')
      8. s = s.replace('&nbsp;',' ')
      9. s = s.replace(' - 361way.com','')
      10. print s
      11. replace_html(title)

      优点就是快速简洁,不依赖于模块,实用时也无需再reload sys模块指定默认编码。

  • 相关阅读:
    Something about the "BSTR" and "SysStringLen"
    关于 i = i ++ 的问题
    duilib写个三国杀?
    关于WM_GETTEXT的应用
    hoops暂时用过的一些方法
    Hoops随便记的
    C++ win32线程数上限
    windows系统时间(SYSTEMTIME)
    Form表单提交的那些事
    多行文字溢出...
  • 原文地址:https://www.cnblogs.com/soar1688/p/6767810.html
Copyright © 2011-2022 走看看