符合 URL 的主機名稱而不擷取整個 URL 是一項常見任務。給定包含多個 URL 的文字字串,目標是僅提取解析到特定網域(例如 example.com)的兩個實例的主機名稱。
而不是利用正規表示式有時效率低下,可以採用另一種方法:
var tmp = document.createElement('a'); tmp.href = "http://www.example.com/12xy45";
此方法利用了一個隱藏的優勢。透過建立臨時錨元素並為其指派 URL 字串,我們可以存取主機名稱和主機屬性,這提供了不帶 URL 路徑或協定的主機名稱元件。
// tmp.hostname will now contain 'www.example.com' // tmp.host will now contain hostname and port 'www.example.com:80'
將此功能封裝成一個方便的函數:
function url_domain(data) { var a = document.createElement('a'); a.href = data; return a.hostname; }
透過提供 URL 字串作為此函數的參數,我們取得主機名稱元件作為結果。
以上是如何從沒有正規表示式的 URL 中提取主機名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!