我正在尝试使用 Regex.Replace 创建超链接。我想这样做,以便用户可以点击我创建的按钮并创建产品链接。这样,如果 url 由于某种原因发生更改,我将不必更改数据输入端的逻辑。用户将提交一段文本,我将有如下格式的内容:
"[!product:123456:Click Me!]"
其中 p 代表产品。Click Me 是链接上显示的文本。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>");
希望这是关于我正在尝试做的足够的信息。任何帮助将不胜感激。