Как я могу получить URL хоста из списка отправленных URL? - PullRequest
0 голосов
/ 17 июля 2011

У меня есть список URL-адресов, отправленных пользователями. Я хочу убедиться: в списке нет пробелов, и он содержит только значения хоста то есть site.com, subdomain.site.com, site2.com, site3.net

У меня есть следующий код

var list = document.getElementById( "list" ).value ;

Удаление пробелов в списке

$vars = array_map('trim', explode(',', $list)); 

здесь список $ в порядке? Я новичок и не уверен, что разница ч / б $ и VAR

убедившись, что список содержит только значения хоста предполагаемых URL (из руководства php)

function getHost($list) { 
   $parseUrl = parse_url(trim($list)); 
   return trim($parseUrl[host] ? $parseUrl[host] : array_shift(explode('/', $parseUrl[path], 2))); 
} 

Это будет работать только для одного адреса за раз, может ли кто-нибудь помочь мне заставить его работать для всего списка? Нужно повторить этот метод через список через запятую

Ценю всю вашу помощь.

Ответы [ 2 ]

0 голосов
/ 17 июля 2011
var list = document.getElementById( "list" ).value ;

- это JavaScript, который выполняется на клиенте до того, как пользователь отправит данные формы на сервер.

$vars = array_map('trim', explode(',', $list)); 

- это PHP, который выполняется на сервере либо перед отправкой формы с сервера клиенту, либо после того, как клиент отправил данные формы на сервер (или оба).

Это означает, что две строки связаны только дистанционно. $list должно быть $_POST['list'] или $_GET['list'], в зависимости от того, используется ли метод формы GET или POST.

0 голосов
/ 17 июля 2011

Вы уже использовали array_map здесь:

$vars = array_map('trim', $vars = array_map('trim', explode(',', $list)); 

Вы можете сделать это также с вашей функцией getHost (я немного изменил имя переменной):

function getHost($url) { 
   $parseUrl = parse_url(trim($url)); 
   return trim($parseUrl[host] ? $parseUrl[host] : array_shift(explode('/', $parseUrl[path], 2)));
}

$vars = array_map('getHost', explode(',', $list));

Работа выполнена.Функция применяется к каждому члену массива, который создается из $list.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...