/var/www/hkosl.com/aga/wp-content/plugins/wordpress-seo/admin/links/class-link-extractor.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO\Admin\Links
 */

/**
 * Represents the link extractor.
 */
class WPSEO_Link_Extractor {

    
/**
     * @var string
     */
    
protected $content;

    
/**
     * Sets the content.
     *
     * @param string $content The content to extract the links from.
     */
    
public function __construct$content ) {
        
$this->content $content;
    }

    
/**
     * Extracts the hrefs from the content and returns them as an array.
     *
     * @return array All the extracted links
     */
    
public function extract() {
        
$links = array();

        if ( 
strpos$this->content'href' ) === false ) {
            return 
$links;
        }

        
$regexp '<a\s[^>]*href=("??)([^" >]*?)\\1[^>]*>';

        
// Used modifiers iU to match case insensitive and make greedy quantifiers lazy.
        
if ( preg_match_all"/$regexp/iU"$this->content$matchesPREG_SET_ORDER ) ) {
            foreach ( 
$matches as $match ) {
                
$links[] = trim$match[2], "'" );
            }
        }

        return 
$links;
    }
}