public function __construct($cLinkType, $aAttributes = array(), $aUrl = array()) { $this->_iLinkType = $cLinkType; foreach ($aAttributes as $sName => $sValue) { $this->_sAttributes .= ' ' . $sName . '="' . $sValue . '"'; } if (isset($aUrl[self::QUERY]) && isset($aUrl[self::QUERY][self::QUERY_DATA])) { $this->_aUrl[self::QUERY] = http_build_query($aUrl[self::QUERY][self::QUERY_DATA], isset($aUrl[self::QUERY][self::QUERY_NUMERIC_PREFIX]) ? $aUrl[self::QUERY][self::QUERY_NUMERIC_PREFIX] : '', isset($aUrl[self::QUERY][self::QUERY_ARG_SEPARATOR]) ? $aUrl[self::QUERY][self::QUERY_ARG_SEPARATOR] : ini_get('arg_separator.output'), isset($aUrl[self::QUERY][self::QUERY_ENC_TYPE]) ? $aUrl[self::QUERY][self::QUERY_ENC_TYPE] : PHP_QUERY_RFC1738); } if ($this->_iLinkType === self::LINK_EMAIL) { $this->_oRegex = Regex::email(); } else { $this->_oRegex = Regex::url(); if (isset($aUrl[self::FRAGMENT])) { $this->_aUrl[self::FRAGMENT] = $aUrl[self::FRAGMENT]; } } }