Rumah pembangunan bahagian belakang tutorial php PHP实现过滤各种HTML标签_php技巧

PHP实现过滤各种HTML标签_php技巧

May 16, 2016 pm 08:15 PM
php

首先分享一些比较常见的

$str=preg_replace("/<s*imgs+[^>]*&#63;srcs*=s*('|")(.*&#63;)\1[^>]*&#63;/&#63;s*>/i","", $str); //过滤img标签

$str=preg_replace("/s+/","", $str); //过滤多余回车

$str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)

$str=preg_replace("/<!--.*&#63;-->/si","",$str); //注释

$str=preg_replace("/<(!.*&#63;)>/si","",$str); //过滤DOCTYPE

$str=preg_replace("/<(/&#63;html.*&#63;)>/si","",$str); //过滤html标签

$str=preg_replace("/<(/&#63;head.*&#63;)>/si","",$str); //过滤head标签

$str=preg_replace("/<(/&#63;meta.*&#63;)>/si","",$str); //过滤meta标签

$str=preg_replace("/<(/&#63;body.*&#63;)>/si","",$str); //过滤body标签

$str=preg_replace("/<(/&#63;link.*&#63;)>/si","",$str); //过滤link标签

$str=preg_replace("/<(/&#63;form.*&#63;)>/si","",$str); //过滤form标签

$str=preg_replace("/cookie/si","COOKIE",$str); //过滤COOKIE标签

$str=preg_replace("/<(applet.*&#63;)>(.*&#63;)<(/applet.*&#63;)>/si","",$str); //过滤applet标签

$str=preg_replace("/<(/&#63;applet.*&#63;)>/si","",$str); //过滤applet标签

$str=preg_replace("/<(style.*&#63;)>(.*&#63;)<(/style.*&#63;)>/si","",$str); //过滤style标签

$str=preg_replace("/<(/&#63;style.*&#63;)>/si","",$str); //过滤style标签

$str=preg_replace("/<(title.*&#63;)>(.*&#63;)<(/title.*&#63;)>/si","",$str); //过滤title标签

$str=preg_replace("/<(/&#63;title.*&#63;)>/si","",$str); //过滤title标签

$str=preg_replace("/<(object.*&#63;)>(.*&#63;)<(/object.*&#63;)>/si","",$str); //过滤object标签

$str=preg_replace("/<(/&#63;objec.*&#63;)>/si","",$str); //过滤object标签

$str=preg_replace("/<(noframes.*&#63;)>(.*&#63;)<(/noframes.*&#63;)>/si","",$str); //过滤noframes标签

$str=preg_replace("/<(/&#63;noframes.*&#63;)>/si","",$str); //过滤noframes标签

$str=preg_replace("/<(i&#63;frame.*&#63;)>(.*&#63;)<(/i&#63;frame.*&#63;)>/si","",$str); //过滤frame标签

$str=preg_replace("/<(/&#63;i&#63;frame.*&#63;)>/si","",$str); //过滤frame标签

$str=preg_replace("/<(script.*&#63;)>(.*&#63;)<(/script.*&#63;)>/si","",$str); //过滤script标签

$str=preg_replace("/<(/&#63;script.*&#63;)>/si","",$str); //过滤script标签

$str=preg_replace("/javascript/si","Javascript",$str); //过滤script标签

$str=preg_replace("/vbscript/si","Vbscript",$str); //过滤script标签

$str=preg_replace("/on([a-z]+)s*=/si","On\1=",$str); //过滤script标签

$str=preg_replace("/&#/si","&#",$str); //过滤script标签
Salin selepas log masuk

更简单些的写法:

function delhtml($str){  //清除html标签
$st=-1; //开始
$et=-1; //结束
$stmp=array();
$stmp[]=" ";
$len=strlen($str);
for($i=0;$i<$len;$i++){
  $ss=substr($str,$i,1);
  if(ord($ss)==60){ //ord("<")==60
  $st=$i;
  }
  if(ord($ss)==62){ //ord(">")==62
  $et=$i;
  if($st!=-1){
   $stmp[]=substr($str,$st,$et-$st+1);
  }
  }
}
$str=str_replace($stmp,"",$str);
return $str;
}
Salin selepas log masuk

再来一个:

function clear_html_label($html) 
{ 
$search = array ("'<script[^>]*&#63;>.*&#63;</script>'si", "'<[/!]*&#63;[^<>]*&#63;>'si", "'([rn])[s]+'", "'&(quot|#34);'i", "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'&#(d+);'e"); 
$replace = array ("", "", "1", """, "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(1)");
return preg_replace($search, $replace, $html); 
}
Salin selepas log masuk

以上三种方法均可以实现,不过各有优劣,小伙伴们根据自己的项目需求来选择吧。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles