انجمن عمومی گسترش فناوری آگو
تابعی کار آمد برای هایلایت کردن کلمات یافت شده در قسمت جستجو - نسخه‌ی قابل چاپ

+- انجمن عمومی گسترش فناوری آگو (http://forums.ago.ir)
+-- انجمن: انجمن های عمومی گسترش فناوری آگو (/forumdisplay.php?fid=1)
+--- انجمن: برنامه نویسی (/forumdisplay.php?fid=13)
+--- موضوع: تابعی کار آمد برای هایلایت کردن کلمات یافت شده در قسمت جستجو (/showthread.php?tid=2255)



تابعی کار آمد برای هایلایت کردن کلمات یافت شده در قسمت جستجو - agotd - 12-21-2013 04:00 PM

این تابع دو رشته از ورودی دریافت میکند و رشته اول را در دشته دوم جستجو میکند و درصورت مشاهده استایل آن را مطابق با مقدار پارامتر سوم تابع تفییر میدهد .
کد php:
function textHighlight($text$search$styles 'color:white;background-color:black'$casesensitive false) {
 
$modifier = ($casesensitive) ? 'i' null;
 
//quote search-string, cause preg_replace wouldn't work correctly if chars like $?. were in search-string
 
$quotedSearch preg_quote($search'/');
 
//generate regex-search-pattern
 
$checkPattern '/(' $quotedSearch ')/' $modifier;
 
//generate regex-replace-pattern
$strReplacement "<span style=\"{$styles}\">$1</span>";
 return 
preg_replace($checkPattern$strReplacement$text);
 } 

نحوه استفاده :

کد php:
$text 'Would you be so kind to highlight phpro.ir in this string?';
 
$search 'ago.ir';
echo 
textHighlight($text$search,'color:red;font-weight:bold');