2015-10-25 71 views
0

取代我在下面的鏈接託管的形式: http://laughtertab.com/url解析域名的文本輸入,從給出的列表

爲形式的代碼如下:

當一個人進入我需要的是一個來自網站的URL,它應該從輸入中替換給定的域,並用列表中的所選域替換。我是編程新手,我目前所瞭解的全部是我需要將URL解析爲域和路徑,但是我無法就如何完成它做出語法,如果能夠獲得幫助,我將不勝感激。

<html> 
 

 
<head> 
 
\t <title> Laughter Tab - UTM and OGP Propagated URL Builder </title> 
 
\t <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> 
 
\t <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css"> 
 
</head> 
 
<body face='verdana'> 
 

 
<br><br><br><br> 
 
<center> \t 
 
\t <div id="entries"> 
 
\t \t <form name ="myform"> 
 
\t \t \t <div class="table-responsive"> 
 
\t \t \t <table style="table"> 
 
\t \t \t \t <tr> 
 
\t \t \t \t \t <td> 
 
\t \t \t \t \t \t <right> 
 
\t \t \t \t \t \t \t Enter original URL without domain - 
 
\t \t \t \t \t \t </right> 
 
\t \t \t \t \t </td> 
 
\t \t \t \t \t <td> 
 
\t \t \t \t \t \t <input type="text" name="origin"/> 
 
\t \t \t \t \t </td> 
 
\t \t \t \t </tr> 
 
\t \t \t \t <tr> 
 
\t \t \t \t \t <td> 
 
\t \t \t \t \t \t <right> 
 
\t \t \t \t \t \t \t Select OGP propagated domain - 
 
\t \t \t \t \t \t </right> 
 
\t \t \t \t \t </td> 
 
\t \t \t \t \t <td> 
 
\t \t \t \t \t \t <input type="radio" name="ogpd" value="http://www.laughters.xyz/"> laughtertab.com<br> \t \t \t \t 
 
\t \t \t \t \t \t <input type="radio" name="ogpd" value="http://www.laughters.xyz/"> laughters.xyz<br> 
 
\t \t \t \t \t \t <input type="radio" name="ogpd" value="http://www.lolrising.rocks/"> lolrising.rocks<br> 
 
\t \t \t \t \t \t <input type="radio" name="ogpd" value="http://www.funspoted.net/"> funspoted.net<br> 
 
\t \t \t \t \t \t <input type="radio" name="ogpd" value="http://www.grumpy-kitten.com/"> grumpy-kitten.com<br> 
 
\t \t \t \t \t \t 
 
\t \t \t \t \t 
 
\t \t \t \t \t </td> 
 
\t \t \t \t </tr> 
 
\t \t \t \t <tr> \t 
 
\t \t \t \t \t <td> 
 
\t \t \t \t \t \t <right> \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t Enter your GA Campaign name - 
 
\t \t \t \t \t \t </right> 
 
\t \t \t \t \t </td> 
 
\t \t \t \t \t <td> 
 
\t \t \t \t \t \t <input type="text" name="campaign"/><br> 
 
\t \t \t \t \t </td> 
 
\t \t \t \t <tr> 
 
\t \t \t \t \t <td> 
 
\t \t \t \t \t </td> 
 
\t \t \t \t \t <td><br> 
 
\t \t \t \t \t \t <right> 
 
\t \t \t \t \t \t \t <input type="button" value="Generate" onClick="collect(this.form)"/> 
 
\t \t \t \t \t \t </right> 
 
\t \t \t \t \t </td> 
 
\t \t \t \t </tr> 
 
\t \t \t </table> 
 
\t \t \t </div> 
 
\t \t </form> 
 
\t \t <br><br> 
 
\t \t <a href="http://www.laughtertab.com">Go Back to Laughter Tab Home Page</a> 
 
\t </div> 
 

 

 

 

 
\t <div id="results"> </div> 
 

 
\t \t <script type="text/javascript"> 
 
\t \t \t 
 

 
\t \t \t function collect(frm) 
 
\t \t \t { 
 
\t \t \t document.getElementById("results").innerHTML+=""+frm.ogpd.value+""+frm.origin.value+"?utm_source=PNP&utm_medium=P1K&utm_campaign="+frm.campaign.value+"<hr>" 
 
\t \t \t frm.reset(); 
 
\t \t \t } 
 
\t \t </script> 
 

 

 
<center> 
 
</body> 
 
</html>

+0

你能提供一個你想要實現的例子嗎?我不明白目標是什麼。 – Marc

+0

當有人需要分享鏈接時,他們從主網站複製並將其放在表單中。 laughtertab.com/url 問題是共享鏈接的人需要手動進行編輯並從中刪除域,並使用該路徑準備新的可共享鏈接。 例如,請參閱以下鏈接生成器: www.viraldips.com/gpl 當某人準備爲viraldips.com準備URL時,只需將其從地址欄複製並粘貼到表單中,然後選擇新的重定向他們的新共享鏈接準備就緒。而在我的情況下,共享者必須手動刪除域。 – user2759874

+0

一個適當的例子: 從網站複製的鏈接:http://laughtertab.com/24-photos-proving-it-sucks-to-be-tall/ 當要建立可共享鏈接時,需要分開(24-photos-proving-it-sucks-to-be-tall /),然後放在表單中(在laughtertab.com/url),然後點擊生成url,他們就會得到一個新的域名鏈接。 我想要的是當準備新的網址時,用戶在輸入中輸入完整的網址(http://laughtertab.com/24-photos-proving-it-sucks-to-be-tall/),它的域名部分應該被列表中的新選定域取代。 – user2759874

回答

0

如果我理解正確。你基本上想要尋找一個域名,如果它在輸入

frm.origin 

並將其從值中刪除。

如果是這樣的話,那麼你可以匹配一個正則表達式模式,一個普通的例子是:

/(http:\/\/|https:\/\/){0,1}([\w\d-]+\.)*([\w\d-]{1,63})(\.(\w{2,3}))\//i 

或者如果你喜歡

可以在Google自己的URL正則表達式,但反正你剛纔應用,爲你的價值,並與 「代替」(無)

frm.origin.value.replace(/(http:\/\/|https:\/\/){0,1}([\w\d-]+\.)*([\w\d-]{1,63})(\.(\w{2,3}))\//i, ""); 

,讓你

function collect(frm) 
{ 
    document.getElementById("results").innerHTML+=""+frm.ogpd.value+""+frm.origin.value.replace(/^(http:\/\/|https:\/\/){0,1}([\w\d-]+\.)*([\w\d-]{1,63})(\.(\w{2,3}))\//i, "")+"?utm_source=PNP&utm_medium=P1K&utm_campaign="+frm.campaign.value+"<hr>" 
    frm.reset(); 
} 

這不是一個完美的解決方案,但它應該是一個很好的起點。