File ManagerCurrent Directory: wp-content/plugins/wpforms/vendor_prefixed/ezyang/htmlpurifier/library/HTMLPurifier/InjectorLinux appserver-0d5e4f1e-php-cc8da225320a42ba9b7d66cba40b1f03 6.6.123+ #1 SMP PREEMPT_DYNAMIC Wed Mar 11 09:04:28 UTC 2026 x86_64Edit File: Linkify.php <?php namespace WPForms\Vendor; /** * Injector that converts http, https and ftp text URLs to actual links. */ class HTMLPurifier_Injector_Linkify extends HTMLPurifier_Injector { /** * @type string */ public $name = 'Linkify'; /** * @type array */ public $needed = array('a' => array('href')); /** * @param HTMLPurifier_Token $token */ public function handleText(&$token) { if (!$this->allowsElement('a')) { return; } if (\strpos($token->data, '://') === \false) { // our really quick heuristic failed, abort // this may not work so well if we want to match things like // "google.com", but then again, most people don't return; } // there is/are URL(s). Let's split the string. // We use this regex: // https://gist.github.com/gruber/249502 // but with @cscott's backtracking fix and also // the Unicode characters un-Unicodified. $bits = \preg_split('/\\b((?:[a-z][\\w\\-]+:(?:\\/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]|\\((?:[^\\s()<>]|(?:\\([^\\s()<>]+\\)))*\\))+(?:\\((?:[^\\s()<>]|(?:\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:\'".,<>?\\x{00ab}\\x{00bb}\\x{201c}\\x{201d}\\x{2018}\\x{2019}]))/iu', $token->data, -1, \PREG_SPLIT_DELIM_CAPTURE); if ($bits === \false) { return; } $token = array(); // $i = index // $c = count // $l = is link for ($i = 0, $c = \count($bits), $l = \false; $i < $c; $i++, $l = !$l) { if (!$l) { if ($bits[$i] === '') { continue; } $token[] = new HTMLPurifier_Token_Text($bits[$i]); } else { $token[] = new HTMLPurifier_Token_Start('a', array('href' => $bits[$i])); $token[] = new HTMLPurifier_Token_Text($bits[$i]); $token[] = new HTMLPurifier_Token_End('a'); } } } } // vim: et sw=4 sts=4 Upload File Directory Listing NameTypeSizeActions.. (Parent Directory)DirAutoParagraph.phpFile13.46 KB Rename | Delete | EditDisplayLinkURI.phpFile884.00 B Rename | Delete | EditLinkify.phpFile2.05 KB Rename | Delete | EditPurifierLinkify.phpFile1.74 KB Rename | Delete | EditRemoveEmpty.phpFile3.54 KB Rename | Delete | EditRemoveSpansWithoutAttributes.phpFile2.24 KB Rename | Delete | EditSafeObject.phpFile3.71 KB Rename | Delete | Edit