पायथन का PHP के स्ट्रिप_टैग के बराबर है?पायथन का PHP के स्ट्रिप_टैग के बराबर है?
http://php.net/manual/en/function.strip-tags.php
पायथन का PHP के स्ट्रिप_टैग के बराबर है?पायथन का PHP के स्ट्रिप_टैग के बराबर है?
http://php.net/manual/en/function.strip-tags.php
अजगर मानक पुस्तकालय में ऐसी कोई चीज नहीं है। ऐसा इसलिए है क्योंकि पायथन एक सामान्य उद्देश्य भाषा है जबकि PHP वेब उन्मुख भाषा के रूप में शुरू हुआ है।
फिर भी, आप 3 समाधान है। re.sub(r'<[^>]*?>', '', value)
एक त्वरित और गंदे समाधान हो सकता है।
पायथन में एक अंतर्निहित नहीं है, लेकिन ungodly number of implementations हैं।
असल में मैंने आपके द्वारा सुझाए गए एक ही प्रश्न के साथ गुगल किया लेकिन उनसे मुझे पर्याप्त खुश नहीं हुआ। – Viet
का उपयोग BeautifulSoup
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(htmltext)
''.join([e for e in soup.recursiveChildGenerator() if isinstance(e,unicode)])
आप उसे यह बताना चाहते हैं कि यह एक तृतीय पक्ष lib है। –
हाँ, मुझे पता है, धन्यवाद :) – Viet
आप PHP एचटीएमएल कार्यों builtin के बाद से अजगर एक वेब विकास भाषा की तुलना में एक सामान्य प्रयोजन स्क्रिप्टिंग भाषा के अधिक है के लिए कई builtin पायथन समकक्ष नहीं मिलेगा। एचटीएमएल प्रोसेसिंग के लिए, BeautifulSoup आमतौर पर अनुशंसित किया जाता है।
इस के लिए एक सक्रिय राज्य नुस्खा है,
http://code.activestate.com/recipes/52281/
ताकि आप के रूप में टिप्पणी
यहाँ में उल्लेख किया HTMLparser ने SGML पार्सर बदलना होगा यह पुराने कोड है को बदल कोड है,
import HTMLParser, string
class StrippingParser(HTMLParser.HTMLParser):
# These are the HTML tags that we will leave intact
valid_tags = ('b', 'a', 'i', 'br', 'p', 'img')
from htmlentitydefs import entitydefs # replace entitydefs from sgmllib
def __init__(self):
HTMLParser.HTMLParser.__init__(self)
self.result = ""
self.endTagList = []
def handle_data(self, data):
if data:
self.result = self.result + data
def handle_charref(self, name):
self.result = "%s&#%s;" % (self.result, name)
def handle_entityref(self, name):
if self.entitydefs.has_key(name):
x = ';'
else:
# this breaks unstandard entities that end with ';'
x = ''
self.result = "%s&%s%s" % (self.result, name, x)
def handle_starttag(self, tag, attrs):
""" Delete all tags except for legal ones """
if tag in self.valid_tags:
self.result = self.result + '<' + tag
for k, v in attrs:
if string.lower(k[0:2]) != 'on' and string.lower(v[0:10]) != 'javascript':
self.result = '%s %s="%s"' % (self.result, k, v)
endTag = '</%s>' % tag
self.endTagList.insert(0,endTag)
self.result = self.result + '>'
def handle_endtag(self, tag):
if tag in self.valid_tags:
self.result = "%s</%s>" % (self.result, tag)
remTag = '</%s>' % tag
self.endTagList.remove(remTag)
def cleanup(self):
""" Append missing closing tags """
for j in range(len(self.endTagList)):
self.result = self.result + self.endTagList[j]
def strip(s):
""" Strip illegal HTML tags from string s """
parser = StrippingParser()
parser.feed(s)
parser.close()
parser.cleanup()
return parser.result
from bleach import clean
print clean("<strong>My Text</strong>", tags=[], strip=True, strip_comments=True)
जांच इस http://code.activestate.com/recipes/52281/ –
धन्यवाद गगनदीप। आप एक उत्तर पोस्ट कर सकते हैं और मैं इसे – Viet