이 글에서는 키워드 필터링 방법인 JavaScript를 주로 소개합니다. 매우 좋은 참조 값을 가지고 있습니다. 아래 에디터로 살펴보겠습니다
렌더링:
더 이상 고민하지 말고, 코드 :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> em { font-size: 16px; color: red; } </style> </head> <body> <p id="cont">习近平哈哈哈周永康嘿嘿嘿中共哟西啪啪啪</p> <script> //================================= 可用状态代码 ===================================== // var arr = ['习近平','周永康','中共', '嘿嘿'], // arrText = arr.join('|'), // var params = document.querySelector('#cont'); // // // 替换关键字 // params.innerHTML = params.innerHTML.replace(new RegExp(arrText, "ig"), "<em>$&</em>"); // var arr = []; // console.log(arr); //================================= 修改后的代码 ===================================== /** * 过滤关键字 * @param keyArr 需要过滤的关键字数组 * @param ele 过滤的节点 */ function filterContent(keyArr, ele) { /** * 一个程序的标准准则 * 1. 可用, 可以实现核心的需求 * 2. 健壮, 兼容性处理, 边界处理, 异常处理, 用户输入校验 * 3. 可靠, 任何时候都要有返回值 * 4. 宽容, 对需求宽容, 对调用着宽容, 对维护者宽容 * 5. 精益求精, 可靠的注释... */ try { // 检测是否为 undefined 或者为一个数组,或者数组长度是否大于 1, 这里的返回 -1 只是为了有返回值, 也可以不写 if (keyArr === 'undefined' || !(keyArr instanceof Array) || keyArr.length < 1) return -1; // 将数组里面的元素以 | 进行合并方便进行正则比较, 如 张三|李四 var arrTxt = keyArr.join('|'), regObj = new RegExp(arrTxt, 'ig'); // 替换关键字 ele.innerHTML = ele.innerHTML.replace(regObj, "<em>$&</em>"); } catch (e) { console.log('出错啦~' + e); } } // 调用 var arr = ['习近平','周永康','中共']; var params = document.querySelector('#cont'); filterContent(arr, params); </script> </body> </html>
위 내용은 JavaScript 필터 키워드의 예제 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!