У меня есть около 10 ссылок внутри массив в PHP и я хочу ссылки на удаленный каталог только такие как 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/
)
Поскольку вопрос был лишен примеров и четкого определения характера ссылок внутри массива, это могло бы или не могло бы помочь решить проблему.
/* ?? 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
)
Других решений пока нет …