標籤:font back index err regex new replace flow llb
在一些部落格或者論壇中,文章中的敏感詞需要顯示出來和高亮顯示起到提示使用者的作用。這個功能實現的方法有很多,下面是js的實現方式。
1 //將文章中匹配到的敏感詞羅列出來 2 <span style="color:#CC6600">敏感詞:</span><font color=‘red‘ id="show_word"></font> 3 4 //文章顯示地區 5 <div style="overflow-x:hidden;scrollbar-arrow-color:yellow;scrollbar-base-color:lightsalmon;background: #EAF3FA;" id="dispose_content"></div> 6 //1.在視圖模板(本樣本中使用的是laravel中的blade模板)中使用js接受文章本文內容,先暫存起來 7 var contents = "{!! $data[‘article_content‘] !!}"; //文章內容先存在變數contents中 8 9 //2.再使用ajax去擷取敏感詞,並使用正則在文章迴圈匹配每一個敏感詞10 $.ajax({11 url: "{{\Config::get(‘app.blog_cms‘)}}article/sensitiveword", //請求該方法獲得銘感詞12 type: ‘get‘,13 dataType: ‘json‘,14 }).done(function(data) {15 if(data.code == 200){16 var str = ‘‘;17 $.each(data.data, function(i, e) {18 if(contents.indexOf(e.word) > 0){19 str += e.word+‘, ‘;20 //若匹配到了銘感詞使用高亮顯示,這裡使用的是紅色顯示21 contents = contents.replace(new RegExp(e.word,"gm"), ‘<span style="color:red;">‘+e.word+‘</span>‘);22 }23 });24 $(‘#show_word‘).html(str); //將匹配到的敏感詞放到敏感詞顯示地區25 $(‘#dispose_content‘).html(contents); //將敏感詞高亮後的文章放到文章顯示地區26 }27 }).fail(function() {28 console.log("error");29 });
js檢測文章敏感詞