发新话题
打印

[编程代码] PHP去除HTML代码函数

PHP去除HTML代码函数

<?php
2 H' M3 Z, v2 S# _0 t) Wfunction StripHTML($string){& T$ R7 N' [; n2 ?2 J
        $pattern=array ("'<script[^>]*?>.*?</script>'si", "'<style[^>]*?>.*?</style>'si",  "'<[/!]*?[^<>]*?>'si",  "'([$ F. ~' {+ I" I, q8 R% q  b' [
])[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");
! @8 b& ^: s9 G" t        $replace=array ("", "", "\1", "", "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(\1)");
6 M, `) g) ?1 y9 n0 g& j* @        return preg_replace ($pattern, $replace, $str);& [4 d7 m+ R" R" A" ?3 E4 _
}
3 M7 Z' \( R- J% |* I
6 ]' x2 X7 N: O- Q?>
利用strip_tags()就可以把html标签去除掉; J. y% g; r0 `; z/ g+ l9 E/ x
<?php9 s, ^* Z& Y& l1 ^4 j. H) m
$str = '<a href="http://harryxu.cn">harryxu</a>';
; t. P( @1 c4 O3 Oecho(htmlspecialchars($str) . '<br />');
, \3 E# }) {' z+ |, eecho(strip_tags($str));
5 p& p+ D4 @& q9 @( b$ L5 V& Q
8 ^4 |. m, |. X8 Y- w: x, R// output:% M: |: R7 U' @; c' l
// <a href="http://harryxu.nc">harryxu</a>
0 \6 D% n5 s3 h; m1 v) c; a// harryxu, Z/ `6 x  x. t# J' h8 F6 s
?>

TOP

去除所有js,html,css代码
8 h) e: v6 b$ R8 l7 Z( Z
1 x0 R; F3 X4 P& I+ ~  @$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript5 U4 U0 c+ d8 M1 `+ b5 s
                 "'<style[^>]*?>.*?</style>'si", // 去掉 css1 Q) X3 ^' B4 a. N
                 "'<[/!]*?[^<>]*?>'si", // 去掉 HTML 标记: f+ t8 Z9 j8 g2 @4 z% O( @
                 "'<!--[/!]*?[^<>]*?>'si", // 去掉 注释标记8 Q+ y) E0 H. v$ p5 J
                 "'([rn])[s]+'", // 去掉空白字符
1 Z+ b0 ~- h& B' ]' p; B                 "'&(quot|#34);'i", // 替换 HTML 实体
" D. ~8 D+ h1 Z- @" Q                 "'&(amp|#38);'i",
/ ~1 W+ b- V: A: D  p: s! d                 "'&(lt|#60);'i",
( g0 N2 `& O! h( `( g5 }! x                 "'&(gt|#62);'i",
" k; [6 f7 H! T) d                 "'&(nbsp|#160);'i",0 r) G/ \. V. I* O$ o/ x
                 "'&(iexcl|#161);'i",
! e9 ^  O2 V! w1 D/ f0 @. H* r5 u+ f                 "'&(cent|#162);'i",$ K/ s3 H3 I* I* ^
                 "'&(pound|#163);'i",
) P8 J; x* e. m  h4 f                 "'&(copy|#169);'i",: U, x* L. {# ^# s. d% N$ Y* ~
                 "'&#(d+);'e"); // 作为 PHP 代码运行, S- h& b$ h) g* F1 Y1 R- h
0 X! o& A& c' P( a9 O- F6 g  c* L$ k
$replace = array ("",  b7 ^" J3 u' E( G3 `
                  "",
1 K8 D) J" }! R                  "",
1 _1 r1 W# u9 h+ c                  "",
2 r: E" S$ r! L2 k. x; h+ R4 T                  "1",
  _* `6 Q2 W% n  d+ r$ W, q: w. }8 E5 s                  """,+ f& E* x" a: I
                  "&",
& b1 X/ M" x; ^1 C! f5 Y                  "<",& Y4 X; @9 x1 ]2 i  p7 K3 w+ R
                  ">",2 i9 P0 L! l8 y6 i0 |) b9 n5 v
                  " ",
1 x2 G1 ?, _3 H  |                  chr(161),/ [5 m( }* B3 g& U, Z) ]; u
                  chr(162),% f: ?  @" h( b" s) s2 h7 S
                  chr(163),, R" A0 V  [; S+ L0 c! ~) t6 Q' a
                  chr(169),
9 ~- W& s: F* t, ]! S. f( Q                  "chr(1)");* W2 N8 S; S! |, N7 z, j8 Z
//$document为需要处理字符串,如果来源为文件可以$document = file_get_contents($filename);7 h; B5 J4 n4 \% u9 Y7 y
$out = preg_replace($search, $replace, $document);

TOP

发新话题