选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
U e5d9Eã@sÀdZddlZddlZddlZddlmZdgZe d¡Ze d¡Z e d¡Z e d¡Z e d ¡Z e d ¡Z e d ¡Ze d ¡Ze d ¡Ze dej¡Ze d ¡Ze d¡ZGdd„dejƒZdS)zA parser for HTML and XHTML.éN)ÚunescapeÚ HTMLParserz[&<]z &[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z <[a-zA-Z]ú>z--\s*>z+([a-zA-Z][^\t\n\r\f />\x00]*)(?:\s|/(?!>))*z]((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?(?:\s|/(?!>))*aF <[a-zA-Z][^\t\n\r\f />\x00]* # tag name (?:[\s/]* # optional whitespace before attribute name (?:(?<=['"\s/])[^\s/>][^\s/=>]* # attribute name (?:\s*=+\s* # value indicator (?:'[^']*' # LITA-enclosed value |"[^"]*" # LIT-enclosed value |(?!['"])[^>\s]* # bare value ) \s* # possibly followed by a space )?(?:\s|/(?!>))* )* )? \s* # trailing whitespace z#c@sèeZdZdZdZddœdd„Zdd„Zd d „Zd d „Zd Z dd„Z dd„Z dd„Z dd„Z dd„Zd9dd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd S):raEFind tags and other markup and call handler functions. Usage: p = HTMLParser() p.feed(data) ... p.close() Start tags are handled by calling self.handle_starttag() or self.handle_startendtag(); end tags by self.handle_endtag(). The data between tags is passed from the parser to the derived class by calling self.handle_data() with the data as argument (the data may be split up in arbitrary chunks). If convert_charrefs is True the character references are converted automatically to the corresponding Unicode character (and self.handle_data() is no longer split in chunks), otherwise they are passed by calling self.handle_entityref() or self.handle_charref() with the string containing respectively the named or numeric reference as the argument. )ZscriptZstyleT)Úconvert_charrefscCs||_| ¡dS)zÆInitialize and reset this instance. If convert_charrefs is True (the default), all character references are automatically converted to the corresponding Unicode characters. N)rÚreset)Úselfr©rú#/usr/lib64/python3.8/html/parser.pyÚ__init__WszHTMLParser.__init__cCs(d|_d|_t|_d|_tj |¡dS)z1Reset this instance. Loses all unprocessed data.Úz???N)ÚrawdataÚlasttagÚinteresting_normalÚ interestingÚ cdata_elemÚ _markupbaseÚ ParserBaser©rrrr r`s zHTMLParser.resetcCs|j||_| d¡dS)z‘Feed data to the parser. Call this as often as you want, with as little or as much text as you want (may include '\n'). rN)r Úgoahead©rÚdatarrr Úfeedhs zHTMLParser.feedcCs| d¡dS)zHandle any buffered data.éN)rrrrr ÚcloseqszHTMLParser.closeNcCs|jS)z)Return full source of start tag: '<...>'.)Ú_HTMLParser__starttag_textrrrr Úget_starttag_textwszHTMLParser.get_starttag_textcCs$| ¡|_t d|jtj¡|_dS)Nz )ÚlowerrÚreÚcompileÚIr)rÚelemrrr Úset_cdata_mode{s zHTMLParser.set_cdata_modecCst|_d|_dS©N)rrrrrrr Úclear_cdata_modeszHTMLParser.clear_cdata_modec CsX|j}d}t|ƒ}||k�rè|jrv|jsv| d|¡}|dkr | dt||dƒ¡}|dkrpt d¡  ||¡sp�qè|}n*|j   ||¡}|r’|  ¡}n|jrœ�qè|}||krÞ|jrÌ|jsÌ|  t |||…ƒ¡n|  |||…¡| ||¡}||krö�qè|j}|d|ƒ�rJt ||¡�r"| |¡} n†|d|ƒ�r:| |¡} nn|d|ƒ�rR| |¡} nV|d|ƒ�rj| |¡} n>|d |ƒ�r‚| |¡} n&|d |k�rè|  d¡|d } n�qè| dk�r<|�s¼�qè| d |d ¡} | dk�rú| d|d ¡} | dk�r|d } n| d 7} |j�r*|j�s*|  t ||| …ƒ¡n|  ||| …¡| || ¡}q|d |ƒ�rðt ||¡}|�r²| ¡d d…} | | ¡| ¡} |d| d ƒ�s¢| d } | || ¡}qndS|rX| ||d|…¡|dS)Nr+)r*r'z"unexpected call to parse_comment()rr,r)r rDr/Úhandle_comment)rrEZreportr Úposrrr rNszHTMLParser.parse_bogus_commentcCsd|j}|||d…dks"tdƒ‚t ||d¡}|s:dS| ¡}| ||d|…¡| ¡}|S)Nr+r)zunexpected call to parse_pi()r,)r rDÚpicloser2r3Ú handle_pir@)rrEr r7rGrrr r;!szHTMLParser.parse_picCsìd|_| |¡}|dkr|S|j}|||…|_g}t ||d¡}|sPtdƒ‚| ¡}| d¡ ¡|_ }||k�r.t  ||¡}|sŠ�q.| ddd¡\} } } | s¨d} n\| dd…dkrÌ| dd…ksøn| dd…dkrô| dd…k�rnn | dd…} | �rt | ƒ} |  |  ¡| f¡| ¡}ql|||…  ¡} | d k�r¬| ¡\} }d |jk�rˆ| |j d ¡} t|jƒ|j d ¡}n|t|jƒ}| |||…¡|S|  d ¡�rÆ| ||¡n"| ||¡||jk�rè| |¡|S) Nrrz#unexpected call to parse_starttag()r+rKú'r,ú")rú/>Ú rV)rÚcheck_for_whole_start_tagr Útagfind_tolerantr7rDr@r>rr Úattrfind_tolerantrÚappendÚstripZgetposÚcountr.r0r4ÚendswithÚhandle_startendtagÚhandle_starttagÚCDATA_CONTENT_ELEMENTSr!)rrEÚendposr Úattrsr7rHÚtagÚmÚattrnameÚrestZ attrvaluer@ÚlinenoÚoffsetrrr r8-s\    & ÿ ÿ       ÿ    zHTMLParser.parse_starttagcCs¶|j}t ||¡}|rª| ¡}|||d…}|dkr>|dS|dkr~| d|¡rZ|dS| d|¡rjdS||krv|S|dS|dkrŠdS|dkr–dS||kr¢|S|dStd ƒ‚dS) Nrrú/rVr+r,r z6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZzwe should not get here!)r Úlocatestarttagend_tolerantr7r@r5rD)rrEr rerGÚnextrrr rX`s.   z$HTMLParser.check_for_whole_start_tagcCs.|j}|||d…dks"tdƒ‚t ||d¡}|s:dS| ¡}t ||¡}|sÜ|jdk rr| |||…¡|St  ||d¡}|s¬|||d…dkr¢|dS|  |¡S|  d¡  ¡}|  d| ¡¡}| |¡|dS|  d¡  ¡}|jdk �r||jk�r| |||…¡|S| |¡| ¡|S) Nr+r'zunexpected call to parse_endtagrr,rKzr)r rDÚ endendtagr2r@Ú endtagfindr7rr4rYrNr>rr/Ú handle_endtagr#)rrEr r7rOZ namematchZtagnamer rrr r9‚s8       zHTMLParser.parse_endtagcCs| ||¡| |¡dSr")r`ro©rrdrcrrr r_ªs zHTMLParser.handle_startendtagcCsdSr"rrprrr r`¯szHTMLParser.handle_starttagcCsdSr"r)rrdrrr ro³szHTMLParser.handle_endtagcCsdSr"r©rrIrrr r?·szHTMLParser.handle_charrefcCsdSr"rrqrrr rB»szHTMLParser.handle_entityrefcCsdSr"rrrrr r4¿szHTMLParser.handle_datacCsdSr"rrrrr rPÃszHTMLParser.handle_commentcCsdSr"r)rZdeclrrr rMÇszHTMLParser.handle_declcCsdSr"rrrrr rSËszHTMLParser.handle_picCsdSr"rrrrr Ú unknown_declÎszHTMLParser.unknown_declcCstjdtdd�t|ƒS)NzZThe unescape method is deprecated and will be removed in 3.5, use html.unescape() instead.r+)Ú stacklevel)ÚwarningsÚwarnÚDeprecationWarningr)rÚsrrr rÒs þzHTMLParser.unescape)r)Ú__name__Ú __module__Ú __qualname__Ú__doc__rar rrrrrr!r#rr<rNr;r8rXr9r_r`ror?rBr4rPrMrSrrrrrrr r?s8  z  3"()r{rrtrZhtmlrÚ__all__rrrCrAr=r6rRZ commentcloserYrZÚVERBOSErkrmrnrrrrrr Ús,          ÿò