如何获取所有未使用正则表达式链接的网址

时间:2016-01-27 10:02:13

标签: php regex

我需要从给定字符串中获取所有未链接的URL(没有锚标记的url)。

我知道正则表达式$( '.flower' ).hide().filter( $filteredResults ).show(); 来获取给定字符串中的所有网址。

输入:

(http|ftp|https)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?

输出:

  1. www.yahoo.com
  2. http://www.rediff.com
  3. 请告知。

2 个答案:

答案 0 :(得分:-1)

使用库获取dom树html,并获取所有链接。 例如,您可以使用simplehtml http://simplehtmldom.sourceforge.net/

// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all links
foreach($html->find('a') as $element) {
       echo $element->href . '<br>'; 
}

答案 1 :(得分:-2)

简单使用这将获得href源:

href='(.+?)'