参数过滤类
程序员文章站
2022-06-03 07:49:43
...
PHP代码
<?php /** * 参数过滤类 * */ class cls_string_filter { /** * 将\n转化为<br/> * * @param string $string 待转换的字符串 * @return string */ static public function nl2br($string) { return nl2br($string); } /** * 将<br/>转化为\n * * @param string $string 待转换的字符串 * @return string */ static public function br2nl($string) { $array = array('<br>', '<br/>'); return str_replace($array, "\n", $string); } /** * 多个连续空格只保留一个 * * @param string $string 待转换的字符串 * @return unknown */ static public function merge_spaces($string) { return preg_replace("/\s(?=\s)/","\\1", $string); } /** * 多个连续<br/>只保留一个 * * @param string $string 待转换的字符串 * @return string */ static public function merge_brs($string) { return preg_replace("/((<br\/?>)+)/i", "<br/>", $string); } /** * 过滤字符串中的html标签 * * @param string $string 待转换的字符串 * @return string */ static public function strip_tags($string) { return strip_tags($string); } /** * 将字符串转换为全小写 * * @param string $string 待转换的字符串 * @return string */ static public function strtolower($string) { return strtolower($string); } /** * 将字符串转换为全大写 * * @param string $string 待转换的字符串 * @return string */ static public function strtoupper($string) { return strtoupper($string); } /** * 过滤字符串中开头和结尾的特定字符 * * @param string $string 待转换的字符串 * @param string $char_list 要转换的特定字符列表 * @return string */ static public function trim($string, $char_list='\\\\s') { $chars = preg_replace( array( '/[\^\-\]\\\]/S', '/\\\{4}/S', '/\//'), array( '\\\\\\0', '\\', '\/' ), $char_list ); $pattern = '^[' . $chars . ']*|[' . $chars . ']* ; return preg_replace("/$pattern/sSD", '', $string); } /** * 过滤字符串中的回车换行 * * @param string $string 待转换的字符串 * @return string */ static public function strip_new_lines($string) { return str_replace(array("\n", "\r"), '', $string); } /** * 过滤字符串中<script>脚本 * * @param string $string 待过滤的字符串 * @return string */ static public function strip_script($string) { $reg = "/<script[^>]*?>.*?<\/script>/is"; return preg_replace($reg, '', $string); } /** * 过滤字符串中<style>脚本 * * @param string $string 待过滤的字符串 * @return string */ static public function strip_style($string) { $reg = "/<style[^>]*?>.*?<\/style>/is"; return preg_replace($reg, '', $string); } /** * 过滤字符串中<link>脚本 * * @param string $string 待过滤的字符串 * @return string */ static public function strip_link($string) { $reg = "/<link[^>]*?>.*?<\/link>/is"; return preg_replace($reg, '', $string); } /** * 过滤字符串中<iframe> * * @param string $string 待过滤的字符串 * @return string */ static public function strip_iframe($string) { $reg = "/<iframe[^>]*?>.*?<\/iframe>/is"; return preg_replace($reg, '', $string); } /** * 过滤字符串中html危险代码 * * @param string $string 待过滤的字符串 * @return string */ static public function strip_html_tags($string) { $reg = "/<(\/?)(script|iframe|style|html|body|title|link|meta|\?|\%)([^>]*?>)/is"; return preg_replace($reg, '', $string); } } ?>
上一篇: 面试题之算法汇总
推荐阅读