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

372,626 Responses

  1. This design is wicked! You definitely know how to keep a reader entertained.
    Between your wit and your videos, I was almost moved to start my own blog (well, almost…HaHa!) Great job.
    I really loved what you had to say, and more than that,
    how you presented it. Too cool!

  2. ThomasBox表示:

    paxil 5 mg paxil for anxiety

  3. This info is invaluable. Where can I find out more?

  4. Tommyhon表示:

    https://glucophage.top/# metformin 850g

  5. Wow! Thank you for your thorough write up. Very informative!

  6. Cameronoxl5表示:

    Guys just made a site for me, look at the link:
    https://www.tiwazon.com/post/7286_if-you-039-re-not-able-to-write-your-homework-https-daixiezuoye-org-on-your-own.html
    Tell me your recommendations. THX!

  7. ThomasBox表示:

    prednisone 50 mg tablet canada prednisone without a prescription

  8. Tommyhon表示:

    https://paxil.tech/# paxil for children

  9. You can definitely see your expertise within the
    article you write. The sector hopes for more passionate writers like you
    who are not afraid to mention how they believe.
    All the time follow your heart.

  10. Hey There. I found your blog using msn. This is a very well written article.
    I’ll make sure to bookmark it and come back to read
    more of your useful information. Thanks for the post.
    I’ll definitely return.

  11. Hi! Do you know if they make any plugins to safeguard against
    hackers? I’m kinda paranoid about losing everything
    I’ve worked hard on. Any recommendations?

  12. exceni表示:

    william hill casino online caesars casino online game bigfish casino online

  13. Hmm it looks like your website ate my first comment (it was extremely long) so I guess
    I’ll just sum it up what I submitted and say, I’m thoroughly enjoying your blog.
    I as well am an aspiring blog writer but I’m still new to everything.

    Do you have any helpful hints for first-time blog writers?

    I’d certainly appreciate it.

  14. I’m truly enjoying the design and layout of your blog.
    It’s a very easy on the eyes which makes it much more pleasant for me
    to come here and visit more often. Did you hire out a designer
    to create your theme? Fantastic work!

  15. Davidsag表示:

    В связи с последними событиями хочется затронуть тему Взломать почту!
    6 действий, увеличивающих риск взлома твоего компьютера или смартфона.
    Быть взломанным — это очень неприятно. Дело даже не в том, что злоумышленники крадут твои деньги, а в нарушении конфиденциальности. Они могут вытащить любой материал с твоего компьютера или смартфона, в том числе и компрометирующий тебя. Если ты еще не задумался о безопасности электронных устройств, сейчас самое время, ведь обычных пользователей атакуют все чаще из-за распространения карманных устройств, в которых содержится все необходимое для злоумышленников.
    Вот лишь часть действий, которые увеличивают риск взлома твоего компьютера или смартфона. Будешь действовать правильно — и этот риск значительно снизится.
    1. Ставишь везде один и тот же пароль.
    Мы даже не будем говорить о совсем нелепой ошибке вроде пароля 12345 или qwerty, хотя ее совершают многие люди, и в большинстве современных систем подобный код даже невозможно ввести — выдаст ошибку о недостаточности сложности пароля. Другое дело — сложный пароль, который применяется для всех систем сразу. Если ты используешь один и тот же пароль для почты, соцсетей, разблокировки смартфона и так далее, то злоумышленнику достаточно просто узнать всего одну комбинацию, чтобы получить доступ ко всем твоим данным.
    Что в таком случае делать? Использовать схожие, но все же отличающиеся пароли. К примеру, в одной соцсети твой пароль будет brodude12345$brodude, а в другой brodude123456$brodude. Казалось бы, разницы почти нет, но даже на программный перебор комбинаций уйдет огромное количество времени, и злоумышленник не будет так заморачиваться насчет этого.
    2. Качаешь контент с торрентов.
    Проблема в том, что на этом свете мало альтруистов, и запариваться насчет взлома программы, проводя за компьютером несколько дней подряд, писать код, внедрять его так, чтобы не срабатывал антивирус, — это достаточно трудозатратное и дорогое удовольствие. Неужели ты думаешь, что многие люди, отвечающие за взлом и постинг программ, будут делать это из веры в свободное распространение контента? Как бы не так.
    Нередко во взломанные программы и игры внедряется вредоносный код, который маскируется под обычную «таблетку» от систем безопасности. Самое безобидное, что ты можешь получить со взломанным софтом, — это скрытный майнер, загружающий систему на 100%.
    Это не значит, что нужно кидаться покупать дорогостоящий софт, который обходится в несправедливо большую сумму для обычного человека. Есть бесплатные аналоги с открытым кодом, которые действительно пишут на энтузиазме. И, что важно, из-за открытости кода ты можешь легко проверить наличие вредоносных строк.
    3. Пользуешься открытым Wi-Fi.
    Как уже можно было понять из пункта выше, бесплатный сыр только в мышеловке. Теперь государство обязует организации, раздающие Wi-Fi, выдавать пользователям окно с регистрацией по телефонному номеру, что частично уменьшает риск, но, скорее, именно для компаний. Что касается пользователей, то они не защищены, и их данные не в меньшей опасности, чем раньше.
    Проблема открытого Wi-Fi в том, что раздающий интернет может контролировать трафик с помощью специальных средств, в том числе, перехватывать пароли. Да, они будут зашифрованы, но намного проще провести расшифровку, чем пытаться найти его с помощью метода подбора.
    В этом случае мы можем порекомендовать тебе не подключаться к открытым бесплатным Wi-Fi точкам, даже если она находится в вызывающей доверие организации. Злоумышленники могут делать своеобразную подмену точек, и тогда ты, думая, что подключаешься к доверенной точке, глотаешь наживку.
    4. Заходишь в свои аккаунты с чужих устройств.
    Есть люди, которые пользуются своими аккаунтами на чужих устройствах, а потом забывают выйти из них или же нажимают кнопку сохранения паролей во всплывающем окне. Таких в этой статье мы даже не рассматриваем, так как это максимально возможная компьютерная неграмотность. Нет, речь о другом, а именно — о самом входе с другого устройства. Ты не знаешь, как и через что идет трафик на незнакомом устройстве. Кроме того, следы твоего пароля могут быть отслежены злоумышленником по этому трафику.
    В общем, не стоит вводить пароли на каких-либо устройствах, кроме своих, или тех, что вызывают доверие, да и то, с опаской. Кто знает, в чьи руки может попасть ноутбук твоего брата или друга, где ты заходил в соцсеть.
    5. Устанавливаешь ПО и не проверяешь разрешения.
    Это актуально, в первую очередь, для смартфонов. По какой-то странной причине даже калькулятор может запрашивать у тебя разрешение на телефонные звонки, СМС и доступ к настройкам. Зачем ему это — неясно, но выглядит как возможность для сбора данных.
    Не все приложения проверяются тщательно, и некоторые, выглядящие вполне доверительно, могут собирать информацию о тебе, а сам функционал — это лишь прикрытие для этого. Разумеется, не нужно становиться параноиком и не ставить никакие приложения, просто следи за тем, что они запрашивают, и запрещай доступ к функционалу, который по идее таким программам не нужен.
    6. Не проверяешь безопасность посещаемых сайтов.
    Сегодня используются протокол http и его расширение в виде https. Первый используется повсеместно и является не совсем безопасным для передачи информации. Второй же поддерживает шифрование данных и уменьшает риск кражи данных как на этапе их ввода, так и передачи с трафиком. Чтобы было понятнее, злоумышленник может подгрузить свой код и получить данные html-страницы в момент загрузки по http. И это лишь один пример того, что можно делать, используя уязвимости в протоколе http.
    Поэтому старайся пользоваться только сайтами с протоколом https, особенно если там требуется ввод данных, тем более, конфиденциальных вроде паспортных данных или банковской карточки.

    Торговая площадка хакеров

  16. exceni表示:

    harrahs online casino pa online casino usa casino online norge

  17. DavidSquaw表示:

    https://glucophage.top/# where to buy metformin in usa

  18. ThomasUnogs表示:

    https://finasteride.top/# propecia 1mg tablets

  19. 5941表示:

    Your means of describing all in this article is actually nice, every
    one be able to effortlessly be aware of it, Thanks a lot.

  20. DuyPOULA表示:

    не очень ето точно…
    relating to https://hometreehealth.com/2022/08/13-miti-sulla-escort/ I implore you to visit our own

  21. Warfacegat表示:

    Самый крупный магазин Warface pin
    The largest Warface pin store
    купить вип варфейс

  22. Great blog right here! Additionally your web site lots up very
    fast! What host are you the use of? Can I am getting your affiliate link for your host?

    I want my website loaded up as quickly as yours
    lol

  23. Peskht表示:

    buy sulfasalazine 500mg online cheap sulfasalazine cheap order divalproex online cheap

  24. Tommyhon表示:

    https://glucophage.top/# can i buy metformin over the counter

  25. Hi there i am kavin, its my first time to commenting anywhere, when i read this post i thought i could also
    create comment due to this sensible article.

  26. Usually I do not learn article on blogs, but I wish to say that this write-up very forced
    me to check out and do it! Your writing taste has been amazed me.
    Thank you, very nice post.

發佈留言

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