我正在嘗試使用Regex.Replace來創建超鏈接。我想這樣做,用戶可以點擊我創建的按鈕並創建產品鏈接。這種方式,如果URL由於某種原因改變,我不會必須改變數據輸入端的邏輯。用戶將提交文本正文,並且我將使用如下格式:Regex.Replace創建超鏈接C#
"[!product:123456:Click Me!]"
其中p代表產品。點擊我是鏈接上顯示的文字。 123456是標識符。鏈接應該是這樣的:
<a href="www.mywebsite.com/product/123456">Click Me</a>
到目前爲止,我有這樣的:
var output = Regex.Replace(model.Body, @"\[!([^!]*)\!]", "<a href='http://www.mywebsite.com/$1'> link </a>");
將返回:
http://www.mywebsite.com/p:165411:Click Me
有什麼辦法,我可以做一個正則表達式,讓我解析[!和!]來分離出由「:」分隔的數據?
這裏是我的想法:
var output = Regex.Replace(model.Body, SOME REGEX HERE, "<a href='http://www.mywebsite.com/$1/$2'> $3 </a>");
希望這是什麼,我試圖做的足夠信息。任何幫助將不勝感激。
剛剛發佈工作的例子 – CaffGeek