تابعی کار آمد برای هایلایت کردن کلمات یافت شده در قسمت جستجو

دی ۲۷, ۱۳۹۱ توسط : حامد

این تابع دو رشته از ورودی دریافت میکند و رشته اول را در دشته دوم جستجو میکند و درصورت مشاهده استایل آن را مطابق با مقدار پارامتر سوم تابع تفییر میدهد .

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);
 }

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

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

منبع : css-tricks.com

بازدید : ۲۴۱۲

میترا
فروردین ۴, ۱۳۹۲ @ ۱۲:۵۹ ب.ظ

سلام
خسته نباشید
واقعا سایت مفیدی دارید من که خیلی لذت میبرم.
میخواستم بگم اگه امکانش هست براتون ، بفرمایید چطور میشه session تعداد افراد آنلاین و پیدا کرد؟ یعنی تعداد افراد عضو شده ی انلاین و چطور میتونیم بدست بیاریم؟

پاسخ دادن
اسفند ۲۹, ۱۳۹۲ @ ۱:۵۱ ب.ظ

با سلام یه سوالی برام پیش اومد تو منوهای یه سایت چطور دکمه مربوط به اون صفحه هایلایت میشه؟ با تشکر

پاسخ دادن
    سعید
    فروردین ۵, ۱۳۹۳ @ ۱۰:۳۰ ق.ظ

    سلام
    توی هر صفحه ای که بودی چک ببین آدرس تگ a با آدرس صفحه یکیه یا نه. اگر بود به تگ a کلاس current بده.
    این کار رو با jQuery انجام بدی راحت تره
    مثلا

    <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
    <script>
    $(function(){
      $('a').each(function() {
        if ($(this).prop('href') == window.location.href) {
          $(this).addClass('current');
        }
      });
    });
    </script>
    
    

    کلاس css هم به صورت زیر :

    a.current {
    background:black;
    color:white;
    }
    
    پاسخ دادن
اسرا
مرداد ۸, ۱۳۹۳ @ ۱۰:۲۷ ق.ظ

بسیار سپاسگذارم
موفق باشید

پاسخ دادن

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


*