익명 ·
2023.10.18 ·
조회 25,759
세이프 서치 모드
<p>데이터 텍스트 파일 내의 단어와 페이지 내의 단어가 일치하면 페이지 블러처리</p><div><?php</div><div>$words = file("data.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);</div><div>?></div><div><script></div><div>document.addEventListener("DOMContentLoaded", function() {</div><div> var wordsToBlur = <?php echo json_encode($words); ?>;</div><div><br></div><div> function createBlurredElement(originalElement) {</div><div> // '세이프 서칭이 적용됐습니다.' 메시지를 추가</div><div> var message = document.createElement("div");</div><div> message.innerHTML = "세이프 서칭이 적용됐습니다.";</div><div> </div><div> // 완전한 블러 스타일 적용을 위한 spanWrapper 생성</div><div> var blurredElement = originalElement.cloneNode(true);</div><div> blurredElement.style.position = "relative";</div><div> blurredElement.style.overflow = "hidden";</div><div> blurredElement.style.filter = "blur(4px)"; // 블러 강도 조절 가능</div><div> </div><div> blurredElement.appendChild(message);</div><div><br></div><div> return blurredElement;</div><div> }</div><div><br></div><div> function applyBlurToElements(element) {</div><div> wordsToBlur.forEach(function(word) {</div><div> if (element.textContent.includes(word)) {</div><div> var blurredEl= createBlurredElement(element);</div><div> element.replaceWith(blurredEl);</div><div> }</div><div> });</div><div><br></div><div> for (var i=0; i<element.children.length; i++) { </div><div> applyBlurToElements(element.children[i]); </div><div> }</div><div> }</div><div><br></div><div> applyBlurToElements(document.body); </div><div><br></div><div>});</div><div></script></div>