針對全文透過JS來做重點標示

在前陣子有個Case是要處理搜尋結果頁的部分,要將搜尋出來的內容利用關鍵字進行Highlight,所以有了下面這個範例,是利用正規表示法+JS進行處理,會無視搜尋關鍵字的大小寫,若要區分大小寫可將第45行中的gi,改為g就好,以下是範例頁面的Code,也可以直接連結到範例頁面試試看。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Highlight Text Sample</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <style>
        .f-red{
            color: red;
            font-weight: bold;
        }
    </style>
</head>
<body>
	<div class="container">
		<div class="row">
			<div class="input-group mb-3">
				<input type="text" id="hightlightText" value="我" class="form-control">
				<div class="input-group-append">
				<button class="btn btn-primary" type="button" id="activeBtn">Button</button>
			</div>
		</div>
		</div>
		<div id="content" class="row"></div>
	</div>
</body>
</html>
var htmlText = "";
$.ajax({
    url: "highLightText.txt",
    async: false,
    success: function(response){
        htmlText = response;
    }
});
$("#content").html(htmlText);

var hightlightText = $("#hightlightText").val();
$.fn.highlight = function(what,spanClass) {
    return this.each(function(){
        var container = this,
            content = container.innerHTML,
            pattern = new RegExp('([<.]*)(' + what + ')([<.]*)','gi'),
            replaceWith = '$1<span ' + ( spanClass ? 'class="' + spanClass + '"' : '' ) + '">$2</span>$3',
            highlighted = content.replace(pattern,replaceWith);
        container.innerHTML = highlighted;
    });
}
$('#content').highlight(hightlightText,'f-red');

$("#activeBtn").click(function(){
    $("#content").html(htmlText);
    var hightlightText = $("#hightlightText").val();
    $('#content').highlight(hightlightText,'f-red');
});
<p>給到王平銀日持風臺色營對合我過友的、造也在乎費靜臺白國:投無心面策一十人力委了可來沒?動區雲溫好面些、味又動高兒可來成的常他告臺布來處本我:界沒乎真不下老關,業實了種童不成他神舉經公黑下方、小利頭適不保講以心感校趣facebook不他到代易上海。一設開物愛研題來一下一國該要、機出又際各內案名相落的沒上年水部求沒山大式理密。房長裡再造級……童面費後務,風一也本名。太一息品的看統配北心他合情分子的經易民告只?</p><p>進安太,狀立?</p><p>文它接。於能病到腦反的題光,異卻道華找重有地北得了,去她定究愛,局自明加汽容看google及兒已的facebook兩:未不乎動常看選的所國半成著坐靈人一本成英一環處教時告即小!後也臺市開半:技月家,展教子、起構的相要從王排,臉外產便上。運自片同合可家小的部方單美哥人頭讀更外前喜民,有不馬的,你風的;心說火來的……全起飛事影。</p><p>拉為三參。體成和正地該名玩公可等Google學素母為收營……時世的回過高布家不生世存故研,為親總手?行眼長藝想海能和門新小認中日每收交金又成Facebook來而出還內界官我告展了戲有了的的?</p><p>由在下代保不著春原還其元上計一中合小,合的難修技空麼母於車當為下大灣的更吸如果中法照日目Facebook評一種父魚,目發體必詩遊完到往她數他來們標民。有西加邊,的已明得國多、的且看花性小下時都葉輪我後?觀復大物則的示的戰品照!失分量認法。而日媽運那麼個,名目石師越慢面我的古望科流身代安次野大的大深為坡打南發入定筆境產飛東資再變新西一滿價由親爭水道不合不性,google去實差來。球寶的了放車早大馬產場到使引是名最少不人經進人聲經光我,活連第,風軍工星費書它出。情會了每記、能時外社班們人第底月草。股本我google也。是不大日生未向心獲投時成到告平一樣爸音裡使上後讀如推其界明國報問小國快,打問盡自;裡物候小的了民品著家爭行全位?這時的足子一可等學讀不其今當前生好年點自星我藝資做精只基家他命方資前能一們?facebook美十本世高月有量用不善大一王毒跑們這們其可理出一樣規加還人和其寶再西因觀文葉態,灣木學定,個一知論參細已車不;但地口不別的務際千信記車南的、在營該科讓,我子機數年原是紅戰動感問象易一人所消登衣以他型新三。童愛早十以民國止最時構空夜包害石識小導開Google足活。都是身也個紙失八模用精想修速情不散靜到了小神幾會比找銷消之:行的結星才山風人地。山情資器產們這還上想明生。</p><p>調活前育她一來資!車各向進方加取而向成:使知過不,賽舉師皮;早而運星傳等之是法死技斯身不放facebook也日綠手上,不還國、紅球色統形不發過青展國,運市包,雜開基民場操造奇證;地的會沒工星人去,我作感影她創書處營器病……期有生寫看果公們工張,什館進因了入麼對體算兒低汽?靜但開目地、好久我期展今視義本:政義相會位例皮,加情地分朋學客助……年認校分存片常一是。</p><p>刻爾全否便,此前大檢生生回電性其供假調神約獎因突自阿的。</p>

實際動手玩看看↓↓

You may also like...

285,890 Responses

  1. magnificent issues altogether, you simply won a new reader.
    What would you suggest about your put up that you just made
    a few days ago? Any sure?

  2. Kvartiry_toOa表示:

    квартиры на сутки в Минске http://www.sutki24.by/ .

  3. Kvartiry_zfOa表示:

    снять квартиру в Минске на сутки http://sutki24.by/ .

  4. Kvartiry_rcOa表示:

    снять квартиру на сутки в Минске https://www.sutki24.by/ .

  5. Richardvot表示:

    Стремитесь улучшить свои языковые навыки? Погрузитесь в увлекательный мир английского языка с помощью наших кинокартин и сериалов на английском и британском языках. Насладитесь процессом обучения, погружаясь в захватывающие сюжеты и диалоги на языке оригинала. Наши фильмы и сериалы не только помогут вам расширить словарный запас, но и улучшат понимание английской речи и культуры. Используйте просмотры в качестве увлекательного метода обучения. Подробнее тут https://filmy-na-anglijskom-yazyke.pp.ua/

  6. Richarddax表示:

    Mi Band 3/4 (12)
    Mi Band 2 (2)
    Redmi Smart Band 2 (1)
    Redmi Smart Band Pro (3)
    Amazfit
    Amazfit Active (2)
    Amazfit Balance (4)
    Amazfit Bip 5 (3)
    Amazfit Bip 3 / Bip 3 Pro (3)
    Amazfit Bip S Lite (2)
    Amazfit Bip S / Bip / Bip Lite (6)
    Amazfit Bip U Pro / Bip U (2)
    Amazfit GTR 4 (1)
    Amazfit GTR 4 (2)
    Amazfit GTR 3 Pro (3)
    Amazfit GTR 3 (3)
    Amazfit GTR 2 (2)
    Amazfit GTR 2e (3)
    Amazfit GTR Lite 47mm (1)
    Amazfit GTR mini (3)
    Amazfit GTR (2)
    Amazfit GTS 4 mini (3)
    Amazfit GTS 4 (1)
    Amazfit GTS 3 (3)
    Amazfit GTS 2 (3)
    Amazfit GTS 2 mini (3)
    Amazfit GTS 2e (3)
    Amazfit GTS (5)
    Amazfit Pop 3S (3)
    Amazfit T-Rex Pro (3)
    Amazfit T-Rex 2 (2)
    AirDots
    Redmi AirDots (8)
    PAD Series
    Pad 6 Max (14″) (3)
    Pad 6 / Pad 6 Pro (11″) (8) +3
    Pad 5 / Pad 5 Pro (11″) (8)
    Redmi Pad SE (11″) (3) +1
    Redmi Pad (10.61″) (6)
    Xiaomi Watch
    Amazfit Pop 3R (3)
    Haylou RS4 (LS12) / Haylou RS4 Plus (LS11) (1)
    Haylou Solar LS05 (3)
    Mi Watch Lite (2)
    Poco Watch (1)
    Redmi Watch 4 (1) +1 +1
    Redmi Watch 3 Active (3) +1
    Redmi Watch 3 (3)
    Watch 2 Pro (1)
    Watch 2 Pro (2)
    Redmi Watch 2 Lite (3)
    T-Rex 2 (1)
    Watch S3 (1) +1 +1
    Watch S1 (3)
    Watch S1 Active (3)
    Watch S1 Pro (3)
    ZTE
    10 9
    Все модели
    Axon 10 Pro (13)
    Axon Mini (4)
    Blade 20 Smart (12)
    Blade A610 (12)
    Blade A510 (12)
    Blade A73 4G (3) +3 +3
    Blade A72 (3)
    Blade A54 4G (5) +5 +3
    Blade A53 (2)
    Blade A52 (4)
    Blade A51 (15)
    Blade A31 (13)
    Blade A7s (2020) (18)
    Blade A7s (2019) (1)
    Blade A7 Fingerprint (2020) (13)
    Blade A7 (2019) (12)
    Blade A7 (2020) (13)
    Blade A5 (2020) (13)
    Blade A5 (2019) (14)
    Blade A3 (2020) (13)
    Blade A3 (2019) (15)
    Blade L220 (2)
    Blade L110 (A110) (12)
    Blade L9 (1)
    Blade L5 (12)
    Blade V2020 Smart (16) +1
    Blade v2020 (16)
    Blade V50 Vita (2) +2 +2
    Blade V40 Pro (12)
    Blade V40 Vita (4)
    Blade V40s (1)
    Blade V40 (12)
    Blade V30 Vita (13)
    Blade V30 (14)
    Blade V20 Smart (1)
    Blade V7 Lite (12)
    Blade V7 (12)
    Blade X3 (4)
    N880E (4)
    N855D (4)
    Nubia Z9 Max (4)
    Nubia Z7 mini (4)
    V987 (4)
    V975 Geek (4)
    V970/U970 (4)
    V881 (4)
    TECNO
    2 6
    Все модели
    Camon 20 Pro (CK7n) (6)
    Camon 19 Pro (16)
    Camon 19 (CI6n) / 19 Pro (CI8n) (3)
    Camon 19 Neo (20)
    Camon 19 (16)
    Camon 18 / 18P (21)
    Camon 17 Pro (3)
    Camon 17P (14)
    Camon 17 (12)
    Camon 16 SE (16)
    Tecno Pop 7 (1)
    Tecno Pop 6 Pro (1)
    Pop 5 LTE (16) +1
    POP 5 (10)
    POP 4 LTE (11)
    POP 4 Pro (16)
    POP 4 (16)
    POP 3 (16)
    POP 2F (15)
    Pova 5 (LH7n) (7)
    Pova 4 (LG7n) (7)
    Pova 3 (LF7n) (15)
    Pova 2 (LE7n) (15)
    Pova Neo 3 (LH6n) (8) +1
    Pova Neo 2 (LG6n) (7)
    Spark 20 Pro (2) +2 +2
    Spark 20C / Spark Go 2024 (6)
    Spark 10 Pro (11)
    Spark 10C (8)
    Spark 10 (14)
    Spark 9 Pro (KH7n) (8)
    Spark 9 Pro (14)
    Spark 8 Pro (15)
    Spark 8P (18)
    Spark 8C (26)
    Spark 8 (14)
    Spark 7 Pro (1)
    Spark 7 (17)
    Spark 6 Go (20)
    Spark 6 (16)
    Spark 5 Pro (16)
    Spark Go 2024 (1) +1
    Tecno Spark Go 2023 (17) +1
    Tecno Spark Go 2022 (KG5m) (14)
    Oppo
    1
    Все модели
    A Series
    A98 (18)
    A96 4G (7)
    A96 (6)
    A94 (1)
    A93 (21)
    A92s (16)
    A91 (15)
    A78 4G (23) +1
    A77s (7)
    A77 (6)
    A76 4G (18)
    A74 4G (18)
    A73 (26)
    A73 (2017) (16)
    A72 5G / A73 5G (2)
    A71 (14)
    A58 4G (23)
    A57s (19)
    A55 4G (16)
    A54s (2)
    A54 5G / A74 5G (1)
    A54 4G (21)
    A53 (14)
    A53 5G / A73 5G (15)
    A53 / A32 / A33 (18)
    A52 / A72 / A92 (24)
    A38 (19)
    A31 (17)
    A31 (2015) (6)
    A18 (6)
    A17k (9)
    A17 (17)
    A16s / A16 (20)
    A15s / A15 (25)
    A11 (14)
    A9 (2020) (1)
    A5s / A12 (21)
    A5 (2020) / A9 (2020) (16)
    OPPO A5 / A3S / AX5 / R15-NEO (15)
    F Series
    F17 Pro (1)
    OPPO F11 / A9 / A9X (14)
    F9 (F9 Pro) (14)
    F7 (14)
    F1 (14)
    Find X2 (14)
    Reno Series
    Reno 10 Pro (2)
    Reno 10 (3)
    Reno 8 Lite (6)
    Reno 8 Pro (7)
    Reno 8 T 4G (14)
    Reno 8 5G (7)
    Reno 8 4G (6)
    Reno 7 Lite 5G (16)
    Reno 7 4G (20)
    Reno 5 Lite (21)
    Reno 5 5G (14)
    Reno 5 4G (2)
    Reno 4 Pro 5G (15)
    Reno 4 Pro (16)
    Reno 4 Lite (15)
    Reno 4 5G (14)
    Reno 4 (15)
    Reno 3 Pro 5G (14)
    Reno 3 Pro (14)
    Reno 3 5G (14)
    Reno 3 (14)
    Reno 2z (14)
    Reno 2 (14)
    Realme
    3 10
    Все модели
    Pad 10.4″ (3)
    11 5G (7)
    11 4G (8)
    10 Pro+ (5)
    10 Pro 5G (9)
    10 4G (21)
    9i (17)
    9 Pro (21)
    9 5G (17)
    9 4G / 9 Pro+ (20)
    8 Pro (10) +1
    8 (18) +1
    7i / C17 (14)
    7 Pro (15)
    7 (16)
    6 Pro (15)
    6i (14)
    6 (15)
    5 Pro (15)
    5 (15)
    3 Pro (14)
    3 (14)
    C67 4G (3) +3 +3
    C55 (14)
    C53 (10)
    C51 (6)
    C35 (16)
    C33 (10)
    C30s (11)
    C30 (6)
    C25Y (1)
    C21Y (3)
    C21 (3)
    C20 (15)
    C15 (17)
    C12 (2)
    C11 (2021) (20) +1
    C11 (19)
    C3 (15)
    C3 (dual camera) (14)
    C2 (15)
    GT2 (3)
    GT Neo 5 SE (6) +1
    GT Neo 5 / GT3 (8) +3
    GT Neo 3 (9)
    Narzo 50A (1)
    X50 Pro (15)
    X7 Pro (14)
    X3 SuperZoom (14)
    X2 Pro (14)
    XT (15)
    Vivo
    Все модели
    iQOO Z3 (1)
    V21 (3)
    Y53s (2)
    Y51a (1)
    Y51 (2020) (2)
    Y36 (2)
    Y31 (5)
    Y21 / Y33s (4)
    Y15s (5)
    Y02 (5)
    Другие 21
    OnePlus
    Huawei / Honor
    Google
    Sony
    Motorola
    Nokia
    Lenovo
    Blackview
    Umidigi
    Infinix
    Бренды
    Nothing
    Xshield Ganesh wiwu TPU чехол Bonbon Metal Style with MagSafe лампи скло
    Новинки
    Чехол TPU Epik Black Full Camera для Infinix Hot 40i
    new
    130 моделей

    #70459
    Чехол TPU Epik Black Full Camera для Infinix Hot 40i
    1 цвет

    $ 0.9 – $ 1

    ? 36 – ? 40

    РРЦ: ? 129

    Дроп: ? 45

    Опт: $ 1

    VIP: $ 0.95

    Дилер: $ 0.9

    В корзину
    TPU чехол Bonbon Metal Style with MagSafe для Samsung Galaxy A54 5G
    new
    42 модели

    #70340
    TPU чехол Bonbon Metal Style with MagSafe для Samsung Galaxy A54 5G
    4 цвета

    $ 5.3 – $ 5.5

    ? 213 – ? 221

    РРЦ: ? 499

    Дроп: ? 247

    Опт: $ 5.5

    VIP: $ 5.4

    Дилер: $ 5.3

    В корзину
    Кожаный чехол книжка GETMAN Cubic (PU) для Xiaomi Redmi Note 13 4G
    new
    88 моделей

  7. CallumGed表示:

    Промокод BetWinner- 937999. Новые пользователи букмекерской компании Betwinner могут воспользоваться приветственным бонусом в размере 100% от суммы депозита до €100 (или эквивалентной суммы в другой валюте). Фрибеты в БетВиннер чаще появляются в рамках периодических акций. Иногда такая привилегия касается новых игроков, но чаще всего поощрение получают постоянные.
    https://vsiknygy.net.ua/wp-content/pages/betwinner_promokod_2020.html

  8. bokep jepang表示:

    It?s actually a nice and helpful piece of info. I am glad that you shared this helpful info with us. Please keep us informed like this. Thanks for sharing.

  9. tammicn9表示:

    Classic porn categories and vintage sex niches tubepornclassic
    https://saw-bathroom-ingoio.fetish-matters.net/?annabel-nyasia

  10. I’ve read several just right stuff here. Definitely price bookmarking for revisiting.
    I wonder how so much attempt you put to create this type of great informative website.

  11. Hurrah, that’s what I was seeking for, what a data!
    present here at this web site, thanks admin of this website.

  12. nilovsdow表示:

    Вам необходима психологическая помощь? Квалифицированный врач-психотерапевт Грудинин Александр Михайлович внимательно вас выслушает, вам будет комфортно с ним разговаривать. Он устранит и выявит ваши все психологические проблемы. http://grudinin-psihoterapevt.ru – сайт, где представлена подробная информация о специалисте, ознакомиться с ней можете в любой удобный для вас момент. Также здесь есть тесты, статьи и часто задаваемые вопросы. Можно записаться на прием к доктору, позвонив по контактному номеру телефона.

  13. Marcelabelp表示:

    http://indiaph24.store/# buy prescription drugs from india

  14. Rickysem表示:

    onlinecanadianpharmacy canadian pharmacy ltd canadian pharmacy no rx needed

  15. Kvartiry_lxOa表示:

    снять квартиру в Минске на сутки https://sutki24.by/ .

  16. Kvartiry_zgOa表示:

    снять квартиру на сутки в Минске https://sutki24.by .

  17. Do you have a spam problem on this website; I also am a blogger, and
    I was wanting to know your situation; we have created some nice methods and we are looking to swap techniques
    with other folks, be sure to shoot me an e-mail if interested.

  18. Michaelcew表示:

    https://mexicoph24.life/# best online pharmacies in mexico

  19. Rickysem表示:

    Online medicine order Cheapest online pharmacy online shopping pharmacy india

  20. Marcelabelp表示:

    http://canadaph24.pro/# canadian drug

  21. Marcelabelp表示:

    https://mexicoph24.life/# best online pharmacies in mexico

  22. Rickysem表示:

    mexican border pharmacies shipping to usa Online Pharmacies in Mexico mexican pharmaceuticals online

  23. ThomasMof表示:

    Welcome bonus p to 5BTC 180 free spins Award-winning customer service 4,000 online casino games Weekly slot and table game tournaments. NBA Betting. Unfortunately, it takes far longer than we d hoped for the individual game icons below to fully load. Source: https://foodle.pro/post/58633

  24. Sanfordzem表示:

    оземпик аналоги препарата цена – оземпик +от диабета цена, Оземпик синий купить

  25. tammism3表示:

    Cute young tiny petite brunette teen first porn pov
    https://pinay-viral-bang-pov.fetish-matters.com/?aja-taylor

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。