paraxeMedlem sedan apr. 2004298 inlägg Problemas!
Jag kör denna kod
foreach(rrs.UI.Definition d in aList)
{
ToFilter = Regex.Replace(ToFilter,"\\b"+d.FldWord+"\\b", "<a class=\"definitions\" href=\"javascript:void(0);\"
onClick=\"return overlib('" + HttpContext.Current.Server.HtmlEncode(d.FldDefinition.Replace(System.Environment.NewLine,
"")) + "', WIDTH, 300, CENTER, STICKY, '" + d.FldWord + "' );\" onmouseout=\"return nd();\">" + d.FldWord + "</a>");
}
Som Ni ser så kör jag den på en å samma sträng dvs. att för varja gång regexp hittar ordet markeras det och hela strängen skrivs om. Om jag nu har ordet "WIDTH" med i min definitionsArray så markeras htmlkoden WIDTH i "WIDTH, 300, CENTER.." och det vill jag inte.
Med andra ord. regexpen ska hoppa över de som står i emellan "<" och ">". Hu gör man det?
/ Pär
GuffaMedlem sedan juni 2004533 inlägg Gör en matchning på mönstret "<.+?>" och loopa igenom resultatet. Gör din ersättning på det som ligger mellan taggarna.
Jag har skrivit en artikel om hur man loopar igenom ett sökresultat på det viset. Visserligen är koden i VBScript, men du kan väl få lite hum om stränghanteringen:
http://guffa.com.loopiadns.com/Programming_article.asp?id=5
paraxeMedlem sedan apr. 2004298 inlägg Om jag förstår dig rätt? så ska jag först köra en matchning mot strängen för varje ord jag vill replaca, matchningen stoppar jag in i ett nytt object.
objectet kanske skulle kunna se ut så här:
ord | replaca
-------------------------------
hej <a href...>
guffa <a href...>
rätt? <a href...>
hej <a href...>
-------------------------------
Och sedan köra replacen mot det nya objectet och hålla reda på vilken position i strängen jag är.
Är det rätt tänkt?
Isof behöver hjälp med hur match-argumentet skall se ut.
Mvh
Pär