0

Starting with an example, I have some keywords like

Narendra Modi, Modi, India, Speech, Parliament

And I have a story with text

Narendra Modi will give a speech in the parliament of India.

Now I want my regex to replace the keyword with the hyperlink in the story.

<a>Narendra Modi</a> will give speech in the <a>parliament</a> of <a>India.</a>

My Code for this is

var tagArray = bodykeywords.Split(',').ToList();
foreach (var tag in tagArray.OrderBy(a => a.Length))
{
    var replaceTag = tag.Replace("(", "");
    replaceTag = replaceTag.Replace(")", "");
    DataDesc = Regex.Replace(DataDesc, "\"" + replaceTag.Trim() + "\"", " <a href=\"/news?tag=" + replaceTag.Trim() + "\">\"" + replaceTag.Trim() + "\"</a> ");
    DataDesc = Regex.Replace(DataDesc, " " + replaceTag.Trim() + ", ", " <a href=\"/news?tag=" + replaceTag.Trim() + "\">" + replaceTag.Trim() + "</a>, ");
    DataDesc = Regex.Replace(DataDesc, " " + replaceTag.Trim() + " ", " <a href=\"/news?tag=" + replaceTag.Trim() + "\">" + replaceTag.Trim() + "</a> ");

}

Problem is I am not able to replace the word with full stop like India in the given example and Word with repetition like Narendra Modi, Modi in the keyword.

Uwe Keim
  • 39,551
  • 56
  • 175
  • 291
Neeraj Mehta
  • 1,675
  • 2
  • 22
  • 45

0 Answers0