rezamizbani
پنج شنبه 22 آذر 1386, 10:30 صبح
من در یک صفحه برای انتخاب کلمه جستجو شده در متن از کد زیر استفاده کردم :
#region HighlightText
protectedstring HighlightText(string searchWord, string inputText)
{
if (searchWord == null)
return inputText;
Regex expression = newRegex(searchWord.Replace(" ", "|"), RegexOptions.IgnoreCase);
return expression.Replace(inputText, newMatchEvaluator(ReplaceKeywords));
}
publicstring ReplaceKeywords(Match m)
{
return"<span class='Select_Search'>" + m.Value + "</span>";
}
این کد خیلی خوب کار می کنه !!
فقط یک مشکلی که داره اینه که اگر شما کلمه
"ماه" رو جستجو کنی در کلمه ماهیانه اینجوری : ( ماهیانه ) انتخاب می کنه !!
یا اگر کلمه "و" رو سرچ کنی در یک کلمه اینجوری می شه تومان !!
اگه کسی کدی داره که کل کلمه رو انتخاب کنه یعنی اگه " شهر" رو جستجو کردی
شهرداری رو اینجوری نکنه "اسخدام در شهرداری اصفهان "
بکله از فاصله قبلی تا بعدی رو انتخاب کنه ! اینجوری : "اسخدام در شهرداری اصفهان "
برای اطلاعات بیشتر به سایت : www.niazaval.com (http://www.niazaval.com) برید و یه سرچ بزنید !! مثلا "و"
#region HighlightText
protectedstring HighlightText(string searchWord, string inputText)
{
if (searchWord == null)
return inputText;
Regex expression = newRegex(searchWord.Replace(" ", "|"), RegexOptions.IgnoreCase);
return expression.Replace(inputText, newMatchEvaluator(ReplaceKeywords));
}
publicstring ReplaceKeywords(Match m)
{
return"<span class='Select_Search'>" + m.Value + "</span>";
}
این کد خیلی خوب کار می کنه !!
فقط یک مشکلی که داره اینه که اگر شما کلمه
"ماه" رو جستجو کنی در کلمه ماهیانه اینجوری : ( ماهیانه ) انتخاب می کنه !!
یا اگر کلمه "و" رو سرچ کنی در یک کلمه اینجوری می شه تومان !!
اگه کسی کدی داره که کل کلمه رو انتخاب کنه یعنی اگه " شهر" رو جستجو کردی
شهرداری رو اینجوری نکنه "اسخدام در شهرداری اصفهان "
بکله از فاصله قبلی تا بعدی رو انتخاب کنه ! اینجوری : "اسخدام در شهرداری اصفهان "
برای اطلاعات بیشتر به سایت : www.niazaval.com (http://www.niazaval.com) برید و یه سرچ بزنید !! مثلا "و"