将远程目录链接与数组中的普通网页链接分开以进行卷曲

时间:2016-08-17 16:32:54

标签: php jquery arrays regex virtual-directory

我在 php 中的数组中有大约10个链接,我想要远程目录链接 例如http://ckfht.ca/sultan/files/2016/http://dl1.uploadplus.net/dl2/2016/Sultan.2016/ 以及从阵列中删除所有普通链接
此外,我无法控制预先获取链接的方式。

我怎样才能做到这一点?

$links=array(
    'http://ckfht.ca/sultan/files/2016/',
    'http://dl1.uploadplus.net/dl2/2016/Sultan.2016/',
    'http://www.google.com',
    'https://localhost/questions/stackoverflow',

);



/* filter the array to remove local urls .. What should i do here??*/
$links=array_filter($links,'filteritems');

/* debug output */
echo '<pre>',print_r($links,true),'</pre>';

output I want
------
Array
(
    [0] => http://ckfht.ca/sultan/files/2016/
    [1] => http://dl1.uploadplus.net/dl2/2016/Sultan.2016/

)

1 个答案:

答案 0 :(得分:0)

由于问题没有示例,并且清楚地说明了数组中链接的性质,这可能会或可能不会帮助解决问题。

/* ?? array of "links" ?? */
$links=array(
    'http://ckfht.ca/sultan/files/2016/',
    'http://dl1.uploadplus.net/dl2/2016/Sultan.2016/',
    'http://www.google.com',
    'https://localhost/questions/stackoverflow',
    'https://'.$_SERVER['SERVER_NAME'].'/api/json/23/skidoo'
);

/* callback function to determine if local or remote url */
function filteritems($item){
    return $_SERVER['SERVER_NAME']!==parse_url( $item, PHP_URL_HOST );
}

/* filter the array to remove local urls */
$links=array_filter($links,'filteritems');

/* debug output */
echo '<pre>',print_r($links,true),'</pre>';

output
------
Array
(
    [0] => http://ckfht.ca/sultan/files/2016/
    [1] => http://dl1.uploadplus.net/dl2/2016/Sultan.2016/
    [2] => http://www.google.com
    [3] => https://localhost/questions/stackoverflow
)