簡體   English   中英

將所有字符(除了 [0-9A-Za-z ])轉換為 HTML 十進制實體

[英]Convert all characters (except [0-9A-Za-z ]) to HTML Decimal Entities

我是 Python 新手,但使用 PHP 已經有一段時間了。 我正在尋找一種將所有字符( [0-9A-Za-z ]除外)轉換為“HTML 十進制實體”的方法。 我一直在四處尋找,還沒有找到合適的方法。 我正在尋找這個 PHP 方法在 Python 中的副本。

我發現的最接近的方法是 Python 中的這些方法,但它們不排除[0-9A-Za-z ]Python3 將所有字符轉換為 HTML 實體以及如何將 *all* 字符轉義為其相應的 html 實體名稱和Python中的數字?

就像 PHP 方法一樣,我想要一個函數,可以將除[0-9A-Za-z ]之外的每個字符(當前和未來)轉換為“HTML 十進制實體”,並假定 UTF-8 字符編碼。

例如, "abcABC123 &%¤#"會變成"abcABC123 &%¤#"

所以我想出了這個作為如何做的一個選項。

import re

def html_entity_encode_all(string):
    return ''.join(['&#{0};'.format(ord(char)) if re.search("[^0-9A-Za-z ]", char) else char for char in string])

print(html_entity_encode_all('abcABC123 &%¤#'))

輸出: abcABC123 &%¤#

但是,我不知道是否有更好的方法或更快的處理方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM