gXbfB#) ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIߪ ۻbis_II4&D.5;Aϳކ:}Wۻp%7ޔ_#5L膓;t-z^KF^=p|!v([}nàsz zTUr*=Q嘞1%wGK!6LP܌4V{]jR*Hl'G{%n.+\Zz5!, VLJgC(ݻQ E#&4υuƷuQmP9MuξO]5Z-D|DJpJd1Gx6 Ϗ Ɏ@?I>8/46qn(*?{6w%`ayDHGy) b̮m1! r}q|^,M]V rCbш f>2bf-XK{s`U ]KDV/sf$\7W`Lhoqu&DIJ2qWmA\V)KxK 2(p&D)dՃ].x6m_䤝B5=V_!HQO k vBxG*G9DTzz5-#tPxx@ Il; !Txy iZ~#fE:8fI`DGگrS#v=#v?-g/,&z 2 ս ~8N3 m c J}s/!{W'B ȳL y.;>uXwѰZ -P"WŽ c*7*U-_<. 1l#o3,I٠ߣ[$aS)~Oܗ[Ⱦi|W6vF6S?|嘞1%wGK8 CnҕHCp? %r`KP;Ja7j?pAc1ژ؀DΟr'`'ҭ+vS#'Rc_[ m3z9?N^萎72~4PRksȢp݆6;?yb8zш f>h^_R+QNgW(`e_u*})EE IXKF.gGs@5k^ټXi_ڣ2TT($ѯ~LMIQ+#s4/ baW[%~^#0w-SWmLPDy8.#fCwl몠-hC_·LR_wk1@.crhOx\u1qqG1-=e)ɂZ VJRSYJ=A3O%V@Sb:]|hH4&99PK~tEU+3E4J&vD!ٝ0,z|H,tA /[ZGSg.?ݭI|Ь87z暨ru:HxݕZw?4 6 0Fl͠Dl= c5TGS)Mজ:il^wrd?8qgDUQ>-SCW6g a|gTqL$K:Ls>߰%^d.lz2ZܧfpEN9kUU%xG-c>n cK^+lՠ%\]PvtVӨm:@6"NY| ˔άaH폛a 0ш f>SC*|7(##J*d6gD~ˋp'J)x9)S0M$N@*>0t21Uj0{/)[ǯUz8J!*FKtC]?qeRl⽞Q~{ۈg9?NL6*;fy(wwٽOA (.'N~AnJ# ïFche 4mG̽m<4P.\$OCI QtXѭ97Yby'xƁ,#ؚ/1PMt (yet) * incorporated all of Wojciech's changes, though I may at some * future time. * * *** End of the housecleaning updates. Updated 08/08/07. */ /** * Converts HTML to formatted plain text * * @package Framework * @subpackage Utils */ class rcube_html2text { const LINKS_NONE = 0; const LINKS_END = 1; const LINKS_INLINE = 2; const LINKS_DEFAULT = self::LINKS_END; /** * Contains the HTML content to convert. * * @var string $html */ protected $html; /** * Contains the converted, formatted text. * * @var string $text */ protected $text; /** * Maximum width of the formatted text, in columns. * * Set this value to 0 (or less) to ignore word wrapping * and not constrain text to a fixed-width column. * * @var int $width */ protected $width = 70; /** * Target character encoding for output text * * @var string $charset */ protected $charset = 'UTF-8'; /** * List of preg* regular expression patterns to search for, * used in conjunction with $replace. * * @var array $search * @see self::$replace */ protected $search = [ '/\r/', // Non-legal carriage return '/\n*<\/?html>\n*/is', // '/\n*]*>.*?<\/head>\n*/is', // '/\n*]*>.*?<\/script>\n*/is', //