\s*<', $architect_contractor_svg); // Remove white space between SVG tags. return $architect_contractor_svg; } return null; } static function get_theme_svg_name($architect_contractor_url) { static $architect_contractor_regex_map; // Only compute regex map once, for performance. if (!isset($architect_contractor_regex_map)) { $architect_contractor_regex_map = array(); $architect_contractor_map = Architect_Contractor_SVG_Icons::$architect_contractor_social_icons_map; // Use reference instead of copy, to save memory. foreach (array_keys(Architect_Contractor_SVG_Icons::$architect_contractor_icons) as $architect_contractor_icon) { $architect_contractor_domains = array_key_exists($architect_contractor_icon, $architect_contractor_map) ? $architect_contractor_map[$architect_contractor_icon] : array(sprintf('%s.com', $architect_contractor_icon)); $architect_contractor_domains = array_map('trim', $architect_contractor_domains); // Remove leading/trailing spaces, to prevent regex from failing to match. $architect_contractor_domains = array_map('preg_quote', $architect_contractor_domains); $architect_contractor_regex_map[$architect_contractor_icon] = sprintf('/(%s)/i', implode('|', $architect_contractor_domains)); } } foreach ($architect_contractor_regex_map as $architect_contractor_icon => $architect_contractor_regex) { if (preg_match($architect_contractor_regex, $architect_contractor_url)) { return architect_contractor_get_theme_svg($architect_contractor_icon); } } return architect_contractor_get_theme_svg('chain'); } static $architect_contractor_social_icons_map = array( 'amazon' => array( 'amazon.com', 'amazon.cn', 'amazon.in', 'amazon.fr', 'amazon.de', 'amazon.it', 'amazon.nl', 'amazon.es', 'amazon.co', 'amazon.ca', ), 'apple' => array( 'apple.com', 'itunes.com', ), 'behance' => array( 'behance.net', ), 'codepen' => array( 'codepen.io', ), 'facebook' => array( 'facebook.com', 'fb.me', ), 'feed' => array( 'feed', ), 'lastfm' => array( 'last.fm', ), 'mail' => array( 'mailto:', ), 'slideshare' => array( 'slideshare.net', ), 'pocket' => array( 'getpocket.com', ), 'twitch' => array( 'twitch.tv', ), 'wp' => array( 'wordpress.com', 'wordpress.org', ), ); /* -------------------------------------------------------------------- ICON STORAGE Store the code for all SVGs in an array -------------------------------------------------------------------- */ static $architect_contractor_icons = array( 'envalope' => '', 'menu' => ' ', 'plus' => '', 'minus' => '', 'homemark' => '', 'arrow-down' => '', 'arrow-left' => '', 'arrow-right-1' => ' ', 'arrow-right' => '', 'arrow-up' => '', 'chevron-down' => '', 'chevron-up' => '', 'chevron-left' => '', 'chevron-right' => '', 'bookmark' => '', 'calendar' => '', 'viewer' => '', 'comment' => '', 'cross' => '', 'edit' => '', 'folder' => '', 'search' => ' ', 'tag' => '', 'user' => '', 'recent' => '', 'blaze' => '', 'star' => '', 'latest' => '', 'close' => '', 'moon' => '', 'sun' => '', 'play' => '', 'pause' => '', 'mute' => ' ', 'unmute' => ' ', 'audio' => ' ', 'gallery' => ' ', 'image' => '', 'video' => ' ', 'quote' => ' ', 'amazon' => '', 'apple' => '', 'bandcamp' => '', 'behance' => '', 'chain' => '', 'codepen' => '', 'deviantart' => '', 'digg' => '', 'dribbble' => '', 'dropbox' => '', 'etsy' => '', 'facebook' => ' ', 'feed' => '', 'flickr' => '', 'foursquare' => '', 'goodreads' => '', 'github' => '', 'instagram' => ' ', 'lastfm' => '', 'linkedin' => '', 'mail' => '', 'meetup' => '', 'medium' => '', 'pinterest' => '', 'pocket' => '', 'reddit' => '', 'skype' => '', 'slideshare' => '', 'snapchat' => '', 'soundcloud' => '', 'spotify' => '', 'stumbleupon' => '', 'tumblr' => '', 'twitch' => '', 'twitter' => ' ', 'vimeo' => '', 'vk' => '', 'wp' => '', 'yelp' => '', 'youtube' => ' ', 'whatsapp' => ' ', 'bookmark' => ' ', 'aside' => '', 'chat' => '', 'link' => '', 'status' => '', ); } endif;