PHP去掉html,只保留文字

2023-03-12  本文已影响0人  Mracale
function filterHtml($content)
    {
        $search = array("'<script[^>]*?>.*?</script>'si",  // 去掉 javascript
            "'<[\/\!]*?[^<>]*?>'si",           // 去掉 HTML 标记
            "'([\r\n])[\s]+'",                 // 去掉空白字符
            "'&(quot|#34);'i",                 // 替换 HTML 实体
            "'&(amp|#38);'i",
            "'&(lt|#60);'i",
            "'&(gt|#62);'i",
            "'&(nbsp|#160);'i",
            "'&(iexcl|#161);'i",
            "'&(cent|#162);'i",
            "'&(pound|#163);'i",
            "'&(copy|#169);'i",
            "'&ldquo;'i",
            "'&rdquo;'i"
        );
 
        $replace = array("",
            "",
            "\\1",
            "\"",
            "&",
            "<",
            ">",
            " ",
            chr(161),
            chr(162),
            chr(163),
            chr(169),
            "‘",
            "’"
        );
        $matches = "\\1";
        $filterHtml = preg_replace($search, $replace, $content, -1);
        $filterHtml = preg_replace_callback("'&#(\d+);'", function($matches){
            return chr($matches[1]);
        }, $filterHtml, -1);
        return $filterHtml;
    }
上一篇下一篇

猜你喜欢

热点阅读