PHP Regex to determine relative or absolute path

前端 未结 2 370
难免孤独
难免孤独 2021-01-23 17:31

I\'m using cURL to pull the contents of a remote site. I need to check all \"href=\" attributes and determine if they\'re relative or absolute path, then get the value of the li

2条回答
  •  忘了有多久
    2021-01-23 18:23

    Here is the one possible solution if i understood question correctly:

    $prefix = 'http://www.website.com/index.php?url=';
    $regex = '~()~is';
    $html = file_get_contents('http://cnn.com');
    
    $html = preg_replace_callback($regex, function($input) use ($prefix) {
      $parsed = parse_url($input[2]);
    
      if (is_array($parsed) && sizeof($parsed) == 1 && isset($parsed['path'])) {
        return $input[1] . $prefix . $parsed['path'] . $input[3];
      }
    }, $html);
    
    echo $html;
    

提交回复
热议问题