2013-10-08 108 views
0

我需要搜索用戶輸入的字符串,並將任何純文本且類似於url的內容轉換爲url。將用戶輸入轉換爲網址

我不關心如何構建URL,更多如何確定文本是否實際上是一個URL。我正在考慮一個正則表達式(請參閱How to replace plain URLs with links?),但理想情況下需要更易讀的解決方案。

我想我需要搜索httpwww的實例並將字符串包裝到anchor標記中的下一個空格。

有沒有人有任何指針,特別是看到因爲網址可以如此多變現在一天?

編輯:

用戶輸入文本插入被提交後,在屏幕上我需要檢查自己的評論任何可能的鏈接,並將其轉換爲超鏈接顯示時的輸入。

+0

這是否適合你? http://stackoverflow.com/questions/927847/is-there-a-url-validator-on-net – luiscubal

+0

我不知道這個,謝謝!這意味着按空格分隔文本,並通過這個函數傳遞每個項目,如果它返回true,那麼我可以將它包裝在一個錨點中。這聽起來似乎合理嗎? – DavidB

回答

0

您需要做的第一件事就是尋找任何經過驗證的網址。你想在哪一個網址成爲一個網址。

一個有效的url在瀏覽器地址欄中輸入時產生一個結果,產生一個(期望的)結果;

時輸入了您的瀏覽器地址欄上述所有產生結果。所以如果你的tekst有任何沒有空格但有點的字符串!它可能是

?+?

會得到google.com出它的URL

(?< = [])* ...([] =)您

確實google.com驗證爲網址

但是,如果確定其網址只能在您確實嘗試獲取網頁時才能確定。

上面的正則表達式會讓你看到上面的所有4個URL,但也可以讓你看到foobars。如果你想確保你有一個有效的網址,做一個頁面查找,如果它變成404對你而言,它不是一個網址

+0

謝謝,但我得到了一個很好的解決方案,將創建一個鏈接出任何開始https,http,ftp,www的萬能,並且還將創建mailto鏈接。你的建議很好,但我認爲我想要的東西太過分了 – DavidB