일부 강력한 온라인 편집기에는 이미 코드 구성 및 필터링 기능이 포함되어 있지만 js 처리는 쉽게 무시될 수 있으며 서버에서 다시 필터링해야 하므로 며칠이 걸리고 일부를 작성했습니다. 제 능력은 한계가 있으니 능력 있는 친구들에게 꼭 완성해 달라고 부탁하고 싶습니다. /*필터링이 필요하지 않은 배열*/$htm_on=array("","< baseFont ","baseFont>","","","", "","","",""<옵션","옵션>","<선택","선택>","", "font");$htm_on_uper=array("","","< ; 버튼","버튼>","","","" , "<구현","구현>","","","","","","FONT");/ * 문자 형식*/$str=strtolower($str);$str=preg_replace("//s+/", " ", $str);//캐리지 리턴 필터링$str= preg_replace ("/ +/", " ", $str);//여러 공백 필터링/*여러 형태의 js 필터링/바꾸기*/$str=preg_replace("/< ( script.*?)>(.*?)<(//script.*?)>/si","",$str);//를 삭제합니다. . . 형식, <br>//$str=preg_replace("/<(script.*?)>(.*?)<(//script.*?)>/si", "<//1>//2<//3>",$str);//표시할 수 있는 항목으로 바꾸세요. <br><br>$str=preg_replace("/<(script.* ?) >/si","",$str);//삭제<script>닫히지 않음<br>//$str=preg_replace("/<(script.*?)>/si","< ;//1>",$str);//닫지 않은 바꾸기<br><br>/*양식 삭제/교체*/<br>$str=preg_replace("/<(//?form.*? ) >/si","",$str);//양식 삭제<br>//$str=preg_replace("/<(//?form.*?)>/si","< / /1>",$str);//대체 양식<br><br>$str=preg_replace("/<(i?frame.*?)>(.*?)<(//i ? 프레임.*?)>/si","",$str);//프레임 삭제<br>//$str=preg_replace("/<(i?frame.*?)>(.* ? )<(//i?frame.*?)>/si","<//1>//2<//3>",$str);//프레임 교체<br><br> /*이벤트 필터링*/<br>$str=preg_replace("/href=(.+?)([/"|/'| |>])/ie","'href='.strtoupper( ' //1').'//2'",$str);//href=에 포함된 on을 대문자로 변환합니다.<br>$str=str_replace($htm_on,$htm_on_uper,$str);/ /Replace <font,font>를 대문자, dhtml 태그 문자로 변환합니다. 일반 판단이 너무 번거로우므로 변환 방법을 사용하세요. <br>$str=preg_replace("/(on[^ /.<>]+?)(. |>])/s","//2",$str);//on 이벤트 제거<br><br>/*슈퍼 연결을 위해 js 필터링*/<br>$str=preg_replace(" / (href|src|배경|url|dynsrc|표현|코드베이스)[=:/(]([ /"/']*?/w+/..*?|javascript|vbscript:[^>]*? ) (/)?)([ >//])/si","//1='#' //3//4",$str);//href=javascript 제거:<br><br> //소문자 반환<br>$str=strtolower($str);<br>$str=str_replace("&","&",$str);</p> <div></div> <!--<p class='doc-content-pic doc-pic'><img src="https://img.php.cn/upload/article/000/000/007/ff385415f5502cad4a11468c06fab82e-0.jpg" / alt="HTML 온라인 편집기를 필터링하여 유해한 코드 생성" > </p>-->