اذهب إلى المحتوى
  • 0

هل يوجد مرشح للـ HTML في بايثون؟

TheBrain

السؤال

Recommended Posts

  • 0

يوجد عدة طرق في لغة بايثون لتنظيف السلسلة النصية، فمثلا يمكنك استخدام BeautifulSoup وإنشاء قائمة بها السمات التي تريد حذفها لإنشاء دالة لتنفيذ ما تريده كما في المثال التالي:

from bs4 import BeautifulSoup

VALID_TAGS = ['strong', 'em', 'p', 'ul', 'li', 'br']

def sanitize_html(value):

    soup = BeautifulSoup(value)

    for tag in soup.findAll(True):
        if tag.name not in VALID_TAGS:
            tag.hidden = True

    return soup.renderContents()

إذا أردت حذف محتويات السمات استبدل tag.hidden بـ tag.extract().
أو يمكنك استخدام دالة clean_html من وحدة lxml.html.clean حيث تملك العديد من الخيارات والتخصيصات.
مثال على استخدام هذه الدالة:

from lxml.html.clean import clean_html
print clean_html(html)
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...