2015-01-09 18 views
0

我最近問了幾個有關的問題在這裏涉及到兩個問題允許並找到鏈接,同時刪除HTML

1)停止HTML可以通過文本字段用戶可以發佈到然後渲染爲HTML網頁上頁面

2)檢測在一個字符串,在那裏他們開始聯繫,並最終

我有試圖把兩者結合起來的問題。

總之,我有一個用戶可以鍵入的文本框。他們被允許輸入他們想要的任何東西。

發佈到服務器時,我想查找該文本中的所有鏈接並將它們保存到數據庫表中。然後在網頁上顯示它們沒有任何HTML鍵入不同的是,我把自己

所以,如果他們鍵入www.google.com,我就會把它轉化爲<a href="http://www.google.com">http://www.google.com</a>

文字我能做到這一點沒有問題。但是,如果他們鍵入類似<p style="margin-left:50px">www.google.com</p>的東西,它會找到鏈接,更改鏈接,但網頁會將邊距位變成實際的HTML。

我被推薦使用HTML編碼,但是如果我在將鏈接保存到數據庫後,索引已關閉(文本中鏈接的起始位置和長度),則可以使用HTML編碼。

如果我在保存鏈接前進行了HTML編碼,鏈接可能會混亂。如果他們在

<a href="www.google.com">www.google.com</a> 

鍵入將編碼的文字和我的正則表達式會發現該鏈接是

www.google.com&quot;&gt;www.google.com&lt;/a&gt 

我要麼需要提高我的正則表達式,或者另謀出路

僅供參考我的正則表達式是

@"((www\.|(http|https|ftp|news|file)+\:\/\/)[&#95;.a-z0-9-]+\.[a-z0-9\/&#95;:@=.+?,##%&~-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)])" 

回答

0

如果我正確地理解了這個,你需要顯示任何其他的html標籤th用戶可以按原樣輸入。嘗試分別用&lt;&gt;替換<>字符。

如果你在運行正則表達式替換之前這樣做,它應該解決你的問題。

相關問題