過濾html標簽在php中太簡單了,我們可以直接使用strip_tags函數來實現了,下面給各位整理了一些關于 strip_tags函數的例子.
php過濾html的函數:strip_tags(string)
這樣就可以過濾掉所有的html標簽了,如果想過濾掉除了<img src="">之外的所有html標簽,則可以這樣寫:strip_tags(string,"<img>");
過濾除了<img src=""><p>xxx</p><b></b>之外的所有html標簽,則可以這樣寫:
strip_tags(string,"<img><p><b>");
php有效的過濾html標簽,js代碼,css樣式標簽:
- <?php
- $str = preg_replace( "@<script(.*?)</script>@is", "", $str );
- $str = preg_replace( "@<iframe(.*?)</iframe>@is", "", $str );
- $str = preg_replace( "@<style(.*?)</style>@is", "", $str );
- $str = preg_replace( "@<(.*?)>@is", "", $str );
- ?>
自定義函數:
- function uh($str)
- {
- $farr = array(
- "/s+/",
- //過濾多余的空白
- "/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isu",
- //過濾 <script 等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可
- 以加入<object的過濾
- "/(<[^>]*)on[a-za-z]+s*=([^>]*>)/isu",
- //過濾網頁特效的on事件
- );
- $tarr = array(
- " ",
- "<123>", //如果要直接清除不安全的標簽,這里可以留空
- "12", //Vevb.com
- );
- $str = preg_replace( $farr,$tarr,$str);
- return $str;
- }
新聞熱點
疑難解答