我正在使用PHP中的regex从网站上抓取一个网址列表,并使用以下代码清理结果。
// Echo each found result
foreach ($matches as $val) {
$results[] = GetStringBetween($val[1], "http://", "&");
}
$results = array_unique($results);
$results = array_filter($results);
然而问题是它会产生一些不需要的结果,如:
ed_search?q=product
有没有办法过滤并保留数组中的有效网址?
我需要以www。,http:,https:
开头的网址答案 0 :(得分:0)
$url = "xxxxx";
if( filter_var($url, FILTER_VALIDATE_URL) !== FALSE )
{
// validated as an url
}
答案 1 :(得分:0)
$urls = array_filter($urls, function ($url) {
return filter_var($url, FILTER_VALIDATE_URL);
});