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

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...