php

递归删除目录及目录下的文件-rrmdir

php自带的rmdir,只能删除空目录,这个rrmdir就可以递归删除目录及目录下的所有文件,不过使用起来要小心哦,不要把所有文件都删了。 function rrmdir($dir) {    if (is_dir($dir)) {      $objects = scandir($dir);      foreach ($objects as $object) {        if ($object != "." && $object != "..") {          if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else...

去掉 HTML 标记,javascript 代码

function trip_html( $html, $len ) { // $html 应包含一个 HTML 文档。 // 本例将去掉 HTML 标记,javascript 代码 // 和空白字符。还会将一些通用的 // HTML 实体转换成相应的文本。 $search = array ("'<script[^>]*?>.*?</script>'si",  // 去掉 javascript "'<[\/\!]*?[^<>]*?>'si",           // 去掉 HTML 标记 "'([\r\n])[\s]+'",                 // 去掉空白字符 "'&(quot|#34);'i",         ...

二维数组的array_unique函数

关于php的array_unique函数,此函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组的array_unique函数 //二维数组去掉重复值 function array_unique_fb($array2D){        foreach ($array2D as $v){          $v = join(",",$v);              //降维,也可以用implode,将一维数组转换为用逗号连接的字符串          $temp[] = $v;      }     $temp =...

GBK的页面输出JSON

encode之前转换为utf-8,decode之后转回gbk:function tb_json_encode($value, $options = 0) {   return json_encode(tb_json_convert_encoding($value, "GBK", "UTF-8")); }function tb_json_decode($str, $assoc = false, $depth = 512) {   return tb_json_convert_encoding(json_decode($str, $assoc), "UTF-8", "GBK"); }function tb_json_convert_encoding($m, $from, $to) {   switch(gettype($m)) {     case 'integer':     case 'boolean':     case 'float':     case...

文本转HTML

//文本转HTML function Text2Html($txt) { $txt = str_replace("  "," ",$txt); $txt = str_replace("<","&lt;",$txt); $txt = str_replace(">","&gt;",$txt); $txt = preg_replace("/[\r\n]{1,}/isU","<br/>\r\n",$txt); return...

在字符串指定位置插入一段字符串

//插入一段字符串 function str_insert($str, $i, $substr) { for($j=0; $j<$i; $j++){ $startstr .= $str[$j]; } for ($j=$i; $j<strlen($str); $j++){ $laststr .= $str[$j]; } $str = ($startstr . $substr . $laststr); return...

php数组二分法查找

<?php //search函数 其中$array为数组,$k为要找的值,$low为查找范围的最小键值,$high为查找范围的最大键值 function search($array, $k, $low=0, $high=0) { if(count($array)!=0 and $high == 0)                 //判断是否为第一次调用 { $high = count($array); } if($low <= $high)                                //如果还存在剩余的数组元素 { $mid = intval(($low+$high)/2);                ...

正确获得访客IP

if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $onlineip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { $onlineip = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { $onlineip = getenv('REMOTE_ADDR'); } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] &&...

加强版htmlspecialchars

//取消HTML代码 function shtmlspecialchars($string) { if(is_array($string)) { foreach($string as $key => $val) { $string[$key] = shtmlspecialchars($val); } } else { $string = preg_replace('/&amp;((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1', str_replace(array('&', '"', '<', '>'), array('&amp;', '&quot;', '&lt;', '&gt;'), $string)); } return...

支持数组的ADDSLASHES

//SQL ADDSLASHES function saddslashes($string) { if(is_array($string)) { foreach($string as $key => $val) { $string[$key] = saddslashes($val); } } else { $string = addslashes($string); } return...