【发布时间】:2016-10-24 19:19:00
【问题描述】:
我正在使用 PHP 中的正则表达式从网站中抓取 URL 列表,并使用以下代码清理结果。
// 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
有什么方法可以过滤并只保留数组中的有效 url?
我需要以 www.、http:、https: 开头的 URL
【问题讨论】:
-
你看过php.net/manual/en/function.parse-url.phpparse_url吗?
-
首先你必须定义一个有效的 url 是什么。
href="kittens.jpg"是一个“有效的 url”,即使它不包含协议、主机或路径... -
我希望它以 www.、http:、https: 开头