針對全文透過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...

368,664 Responses

  1. Andreprark表示:

    https://molnupiravir.life/# molnupiravir avermectin

  2. Loreenpisn表示:

    free gay bays chat
    gay men webcame and chat
    gay chicago webcam chat

  3. buy admin rdp表示:

    I cannot thank you more than enough for the blogposts on your website. I know you set a lot of time and energy into these and truly hope you know how deeply I appreciate it. I hope I’ll do a similar thing person sooner or later.

  4. Dennisscalp表示:

    https://viagracanada.xyz/# do i need a prescription for viagra

  5. Loreenpisn表示:

    gay danish english chat rooms
    gay porn chat random
    gay cam chat

  6. Allan表示:

    If you are going for finest contents like myself, simply pay a quick visit this
    web site everyday since it offers feature contents, thanks

  7. Dennisscalp表示:

    https://paxlovid.best/# covid antivirals

  8. Josephcoume表示:

    molnupiravir online buy molnupiravir covid australia

  9. Connorqon2表示:

    Guys just made a web-page for me, look at the link:
    https://dmics.tribe.so/post/for-those-who-do-not-have-the-financial-means-to-pursue-a-career-in-archite–6315b8d2f73fd70f612dc7c8
    Tell me your references. Thanks!

  10. https://extract.me/ Нормальная штуковина работает

  11. MatthewSycle表示:

    https://withoutdoctorprescription.xyz/# best non prescription ed pills

  12. KevinTic表示:

    Советую Вам попробовать поискать в google.com
    расчистка участка https://green-territory.ru/ несомненно считается длительным а также кропотливым делом.

  13. Andreprark表示:

    https://viagracanada.xyz/# does the government pay for viagra

  14. Josephcoume表示:

    what happens if a girl takes viagra how to get viagra without a prescription

  15. certalp表示:

    cost of generic zithromax azithromycin over counter walmart z pack antibiotic azithromycin 250 mg drug interactions

  16. MichaelFut表示:

    Запуск игровых автоматов с игрой на деньги через приложения Чтобы с телефона играть в игровые автоматы на деньги, необходимо создание профиля. Пройти все этапы процедуры можно со своего устройства, не используя ПК. Для регистрации в приложении казино ??? необходимо выполнить 4 пункта. Среди них: Ознакомление с правилами, которые прописаны в уставе. Отметка своего согласия с пользовательским соглашением и подтверждение совершеннолетия. Заполнение полей с данными для дальнейшего входа в профиль (электронная почта, пароль, номер телефона). Указание персональной информации (содержит Ф.И.О., день и год рождения). Заполняя поля, следует проверить указанные сведения на точность. Попытка обмана вскроется на этапе верификации, что может вызвать затруднения со входом в учетную запись. В саппорт гемблер высылает снимок или скан документа для удостоверения личности. Верификация обязательна для всех игроков по трем причинам: защита операций по снятию денег (посторонний человек не сможет вывести средства с баланса гемблера), противодействие взлом аккаунта, соблюдения законодательных норм (служба безопасности должна убедиться, что пользователь достиг совершеннолетия). На рассмотрение заявки по снятию денег регламент отводит трое суток, чаще обработка данных заканчивается в день подачи запроса. Помимо защиты учетной записи, подключение контактных данных позволит своевременно узнавать про новые акции, турниры и другие мероприятия. Поскольку казино ??? лицензионный игорный клуб, сотрудники берут ответственность за конфиденциальность гемблеров. В какой срок проходит вывод средств со смартфона? Снятие денег моментальное, не более 5 минут. Как связаться со службой поддержки? Через встроенный чат или мессенджер, работа саппорта круглосуточная. Можно ли принимать участие в турнирах через приложение казино ???? Да, доступны все виды дополнительного контента. Какая комиссия на снятие денег через софт для планшетов и смартфонов? Отправляется вся сумма полученного выигрыша, комиссия всегда 0%. Какие доступны бонусы? В приложении есть все поощрения, предусмотренные программой лояльности казино ???. ??? казино | официальный сайт казино ??? (booi), зеркало, регистрация http://bgpk1.ru/
    Слоты в ??? казино В игровом зале клуба предлагают свои коллекции более 20 известных разработчиков. Больше всего игровых автоматов в игорном онлайн-клубе ??? представляют компании Novomatic, Booongo, Yggdrasil, NetEnt, Play’N Go, Igrosoft, Belatra, Bet2Tech, Quickspin. Все слоты — исключительно лицензионный софт с высоким RTP. В среднем показатели отдачи составляют 94 — 97%. В высокой отдаче игр каждый игрок может убедиться без собственных вложений, играя в слоты Booi в демо-режиме.
    Акции Участникам акций доступны призовые деньги за пополнение счета и запуск Колеса Фортуны. Возврат части проигранных средств допускается после присвоения посетителю сайта одного из статусов в рамках действующей программы лояльности. Все акции носят постоянный характер и доступны авторизованным пользователям.

  17. BeatriceOxili表示:

    Вы допускаете ошибку. Пишите мне в PM, поговорим.
    за один час у меня там за счет выигрышных ставок получилось 58 тысяч трехсот click руб..

  18. HindiPEF表示:

    Gambling in India is heavily restricted and currently there are only three states where there are actually operating land-based casinos https://bonusfinder.life/ Whether you are looking for the top Indian casinos online, the newest online casino games, or want to know more about anything related to online gambling

  19. BitcoinPEF表示:

    Looking for a place to start your crypto gambling adventures? https://cryptocasinos.life/were-the-leading-resource-on-online-bitcoin-casino-industry-news-specifically.html
    We spent countless hours of researching different casinos in an attempt to find the best casino to play at, and to help others do the same.

  20. BitcoinPEF表示:

    Looking for a place to start your crypto gambling adventures? https://cryptocasinos.life/cadillac-jacks-gaming-resort-is-a-commercial-bitcoin-casino-and-hotel-located.html
    We spent countless hours of researching different casinos in an attempt to find the best casino to play at, and to help others do the same.

  21. Mhdxsq表示:

    brand cialis buy isotretinoin 20mg pill order deltasone 40mg generic

發佈留言

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