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>");
うまくいけば、これは私がやろうとしていることに関する十分な情報です. どんな助けでも大歓迎です。