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

ژانویه 16, 2013 توسط : حامد

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

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

میترا
مارس 24, 2013 @ 12:59 ب.ظ

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

پاسخ
مارس 20, 2014 @ 1:51 ب.ظ

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

پاسخ
    سعید
    مارس 25, 2014 @ 10:30 ق.ظ

    سلام
    توی هر صفحه ای که بودی چک ببین آدرس تگ a با آدرس صفحه یکیه یا نه. اگر بود به تگ a کلاس current بده.
    این کار رو با jQuery انجام بدی راحت تره
    مثلا
    [js]
    <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script&gt;
    <script>
    $(function(){
    $(‘a’).each(function() {
    if ($(this).prop(‘href’) == window.location.href) {
    $(this).addClass(‘current’);
    }
    });
    });
    </script>

    [/js]

    کلاس css هم به صورت زیر :
    [css]
    a.current {
    background:black;
    color:white;
    }
    [/css]

    پاسخ
اسرا
جولای 30, 2014 @ 10:27 ق.ظ

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

پاسخ

دیدگاهتان را بنویسید

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


*