簡體   English   中英

如何從提交的 URL 列表中獲取主機 URL

[英]How can I get the host URLs from a list of URLs submitted

我有一個用戶提交的 URL 列表。 我想確保:列表沒有空白,它只包含主機值,即 site.com,subdomain.site.com,site2.com,site

我現在有以下代碼

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

取出列表中的空格

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

$list 在這里好嗎? 我是新手,不確定 b/w $ 和 var 的差異

確保列表僅包含預期 URL 的主機值(來自 php 手冊)

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

這一次只適用於一個地址,有人可以幫助我使它適用於整個列表嗎? 需要通過逗號分隔的列表來迭代這個方法

感謝您的所有幫助。

您已經在這里使用array_map

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

您也可以使用getHost function 來執行此操作(我稍微更改了變量命名):

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));

任務完成。 function 應用於由$list創建的數組的每個成員。

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

是 JavaScript 在用戶將表單數據發送到服務器之前在客戶端執行。

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

是 PHP,它在表單從服務器發送到客戶端之前或客戶端將表單數據發送到服務器(或兩者)之后在服務器上執行。

這意味着這兩條線只是遠程相關。 $list應該是$_POST['list']$_GET['list'] ,具體取決於表單方法是 GET 還是 POST。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM