Пример #1
0
 protected static function _changeExternalLinks(&$content)
 {
     if (empty($content)) {
         return;
     }
     $dom = new Zend_Dom_Query();
     $dom->setDocumentHtml($content, 'utf-8');
     if ($dom->getDocumentErrors()) {
         return;
     }
     $query = $dom->query('.externalLink');
     if (!$query->count()) {
         return;
     }
     $links = array();
     /** @var DOMElement $a */
     foreach ($query as $a) {
         $link = $a->getAttribute('href');
         if (empty($link)) {
             continue;
         }
         $links[] = $link;
         GFNLinkProxy_Api::preload($link);
     }
     foreach ($links as $link) {
         $content = preg_replace_callback('#(<a[^>]+href=("|\')?)(' . preg_quote($link, '#') . ')(("|\')?[^>]+class=("|\')?[^"\']*externalLink[^"\']*("|\')?[^>]*>)#sU', array(__CLASS__, '_replace'), $content, 1);
     }
 }