我在 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/
)
答案 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
)