有時,當我們嘗試在數據庫中存儲字符串時,它會與 HTML 標記一起存儲。但是,某些網站需要以原始格式呈現字符串,而不需要數據庫中的任何 HTML 標記。因此,在本教程中,我們將學習如何在 Python 中從字符串中刪除 HTML 標記的不同方法。
正則表達式是表示搜索模式的字符組合。在python的正則表達式模塊中,我們使用了sub()函數,它將與指定模式匹配的字符串替換為另一個字符串。下面提到了使用正則表達式從字符串中刪除 HTML 字符串的代碼。
import re
regex = re.compile(r'<[^>]+>')
def remove_html(string):
return regex.sub('', string)
text=input("Enter String:")
new_text=remove_html(text)
print(f"Text without html tags: {new_text}")
Output 1:
Enter String:<div class="header"> Welcome to my website </div> Text without html tags: Welcome to my website
Output 2:
Enter String:<h1> Hello </h1> Text without html tags: Hello
下面提到了在不使用內置函數的情況下從字符串中刪除 HTML 字符串的代碼。
def remove_html(string):
tags = False
quote = False
output = ""
for ch in string:
if ch == '<' and not quote:
tag = True
elif ch == '>' and not quote:
tag = False
elif (ch == '"' or ch == "'") and tag:
quote = not quote
elif not tag:
output = output + ch
return output
text=input("Enter String:")
new_text=remove_html(text)
print(f"Text without html tags: {new_text}")
Output:
Enter String:<div class="header"> Welcome to my website </div> Text without html tags: Welcome to my website
上面的代碼是如何工作的?
在上面的代碼中,我們保留了兩個計數器,稱為 tag 和 quote。 tag 變量跟蹤標簽,而 quote 變量跟蹤輸入字符串中的單引號和雙引號。我們使用 for 循環並遍歷字符串的每個字符。如果字符是開始或結束標記,則 Tag 變量設置為 False。如果字符是單引號或雙引號,則引號變量設置為 False。否則,該字符將附加到輸出字符串。因此,在上述代碼的輸出中,刪除了 div 標簽,只留下了原始字符串。
下面提到了在不使用 XML 模塊的情況下從字符串中刪除 HTML 字符串的代碼。 XML 是一種標記語言,用於存儲和傳輸大量數據或信息。 Python 有一些內置模塊可以幫助我們解析 XML 文檔。XML 文檔有單獨的單元,稱為元素,在開始和結束標記 (<>) 下定義。開始標簽和結束標簽之間的任何內容都是元素的內容。一個元素可以由多個稱為子元素的子元素組成。使用 Python 中的 ElementTree 模塊,我們可以輕松地操作這些 XML 文檔。
import xml.etree.ElementTree
def remove_html(string):
return ''.join(xml.etree.ElementTree.fromstring(string).itertext())
text=input("Enter String:")
new_text=remove_html(text)
print(f"Text without html tags: {new_text}")
Output:
Enter String:<p class="intro"> I love Coding </p> Text without html tags: I love Coding
上面的代碼是如何工作的?
最初,我們在 Python 中導入 xml.etree.ElementTree 模塊
我們使用 formstring() 方法將字符串轉換或解析為 XML 元素。為了遍歷 formstring() 函數返回的每個 XML 元素,我們使用了 itertext() 函數。它基本上會遍歷每個 XML 元素並返回該元素內的內部文本。
我們使用 join 函數將內部文本與空字符串連接起來,並返回最終的輸出字符串。
最後,我們調用 remove_html 函數從輸入字符串中刪除 HTML 標簽。
因此,關於如何在 Python 中從字符串中刪除 HTML 標記的教程到此結束。您可以使用以下鏈接了解有關 Python 中正則表達式的更多信息。