PHP过滤HTML标签的函数


PHP #函数 #html2012-10-26 09:39

过滤HTML标签在工作中经常用到,今天分享一个函数。可以把HTML转换为文本。

01// 一个 http://yige.org
02function yige_text($document) {
03    $search = array("'<script[^>]*?>.*?</script>'si",
04    "'<style[^>]*?>.*?</style>'si",
05    "'<[\/\!]*?[^<>]*?>'si",
06    "'([\r\n])[\s]+'",
07    "'&(quot|#34|#034|#x22);'i",
08    "'&(amp|#38|#038|#x26);'i",
09    "'&(lt|#60|#060|#x3c);'i",
10    "'&(gt|#62|#062|#x3e);'i",
11    "'&(nbsp|#160|#xa0);'i",
12    "'&(iexcl|#161);'i",
13    "'&(cent|#162);'i",
14    "'&(pound|#163);'i",
15    "'&(copy|#169);'i",
16    "'&(reg|#174);'i",
17    "'&(deg|#176);'i",
18    "'&(#39|#039|#x27);'",
19    "'&(euro|#8364);'i",
20    "'&a(uml|UML);'",
21    "'&o(uml|UML);'",
22    "'&u(uml|UML);'",
23    "'&A(uml|UML);'",
24    "'&O(uml|UML);'",
25    "'&U(uml|UML);'",
26    "'ß'i",
27    );
28    $replace = array("",
29    "",
30    "",
31    "\\1",
32    "\"",
33    "&",
34    "<",
35    ">",
36    " ",
37    chr(161),
38    chr(162),
39    chr(163),
40    chr(169),
41    chr(174),
42    chr(176),
43    chr(39),
44    chr(128),
45    "?",
46    "?",
47    "?",
48    "?",
49    "?",
50    "?",
51    "?",
52    );
53 
54    $text = preg_replace($search, $replace, $document);
55 
56    return $text;
57}


相关文章

粤ICP备11097351号-1