1. [代码][PHP]代码
------------------------- 前端 /** * 前端公共函数方法整理 * @author Weige * 备注: 配合jqury.js 使用 * 2012-04 */ //获取字符串长度 function getWordSize(str) { if(!str) return null; var length = 0; var str = str; var regDoub = /[^x00-xff]/g; var regSingl = /[x00-xff]/g var douL = str.match(regDoub); var singL = str.match(regSingl) if(douL){ length+=douL.length*2; } if(singL){ length+=singL.length; } length/=2; length = Math.ceil(length); return length; } //祛除前后空格 function trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ''); } //中文汉字编码判断 function isChinese(str) { var str = str.replace(/(^\s*)|(\s*$)/g,''); if (!(/^[\u4E00-\uFA29]*$/.test(str) && (!/^[\uE7C7-\uE7F3]*$/.test(str)))) { return false; } return true; } //手机判断 function isMobile(str) { if(/^1[345689]\d{9}/.test(str)) { return true; } return false; } // oschina //特殊字符转换 function htmlEncode(str) { var s = ""; if (str.length == 0) return ""; //s = s.replace(/ /g, " "); s = str.replace(/&/g, "&"); s = s.replace(/</g, "<"); s = s.replace(/>/g, ">"); s = s.replace(/\'/g, "'"); s = s.replace(/\"/g, """); s = s.replace(/\n/g, "<br>"); return s; } function htmlDecode(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/>/g, "&"); s = s.replace(/</g, "<"); s = s.replace(/>/g, ">"); s = s.replace(/ /g, " "); s = s.replace(/'/g, "\'"); s = s.replace(/"/g, "\""); s = s.replace(/<br>/g, "\n"); return s; } //使用ajax提交数据 function ajaxPost(the_url,the_param,succ_callback) { $.ajax({ type : 'POST', cache : false, url : the_url, data : the_param, success : succ_callback }); } //使用ajax获取数据 function ajaxGet(the_url,succ_callback,error_callback) { $.ajax({ type : 'GET', cache : true, url : the_url, success : succ_callback, error : error_callback }); } //发送json格式数据 function ajaxPostJson(the_url,data_pro,succ_callback,error_callback) { $.ajax({ async : false,//同步更新 type : 'post', dataType : 'json', data : data_pro, url : the_url, success : succ_callback, error : error_callback }); } function real_len(name) { return (name.replace(/[^\x00-\xff]/g,"**").length); } function is_email(email) { var reg=/^\s*([A-Za-z0-9_-]+(\.\w+)*@(\w+\.)+\w{2,3})\s*$/; return reg.test(email); } function is_number(name) { var reg = /^\d+$/g; return reg.test(name); } function is_pwd(name) { var reg = /^[A-Za-z@0-9_-]+$/g; return reg.test(name); } ---------------------------------后端 <?php /** * Weige * 2012-05 * */ /** * 唯一名字 * */ function get_unique_name($srand_id=0) { $id = $srand_id?$srand_id:mt_rand(0,99999999); $index = 'z6OmlGsC9xqLPpN7iw8UDAb4HIBXfgEjJnrKZSeuV2Rt3yFcMWhakQT1oY5v0d'; $base = 62; $out = ""; for ( $t = floor( log10( $id ) / log10( $base ) ); $t >= 0; $t-- ) { $a = floor( $id / pow( $base, $t ) ); $out = $out . substr( $index, $a, 1 ); $id = $id - ( $a * pow( $base, $t ) ); } return $out; } /** * 短链接密钥 * */ function url_key($url,$key="wei爱微博") { $x = sprintf("%u", crc32($key.$url)); $show = ''; while($x> 0) { $s = $x% 62; if($s> 35) $s = chr($s+61); elseif($s> 9 && $s<=35) $s = chr($s+ 55); $show.= $s; $x = floor($x/62); } return $show; } /** * 标签key * */ function tag_key($tag,$key="wei爱话题") { $tag = str_replace(" ", "", $tag); $tag.= $key; $hash = md5($tag); $hash = $hash[0] | ($hash[1] <<8 ) | ($hash[2] <<16) | ($hash[3] <<24) | ($hash[4] <<32) | ($hash[5] <<40) | ($hash[6] <<48) | ($hash[7] <<56); return $hash % 99999999; } /** * 过滤非法标签 * */ function strip_selected_tags($str,$disallowable="<script><iframe><style><link>") { $disallowable = trim(str_replace(array(">","<"),array("","|"),$disallowable),'|'); $str = str_replace(array('<', '>'),array('<', '>'),$str); $str = preg_replace("~<({$disallowable})[^>]*>(.*?<\s*\/(\\1)[^>]*>)?~is",'$2',$str); return $str; } /** * 替换或转义标签 * */ function convert_tags($str) { if($str) // $str = str_replace(array('&','<', '>',"'",'"'),array('&','<', '>',''','"'),$str); $str = str_replace(array('<', '>',"'",'"'),array('<', '>',''','"'),$str); return $str; } // function jstrpos($haystack, $needle, $offset = null) // { // $needle = trim($needle); // $jstrpos = false; // if(function_exists('mb_strpos')) // { // $jstrpos = mb_strpos($haystack, $needle, $offset, self::$charset); // } // elseif(function_exists('strpos')) // { // $jstrpos = strpos($haystack, $needle, $offset); // } // return $jstrpos; // } /** * 检查是否为一个http开头并带有.com的url地址 **/ function is_http($url) { if(filter_var($url, FILTER_VALIDATE_URL)) return true;return false; } /** * 发送一个http请求 * @param $url 请求链接 * @param $method 请求方式 * @param array $vars 请求参数 * @param $time_out 请求过期时间 * @return JsonObj */ function get_curl($url, array $vars=array(), $method = 'post') { $method = strtolower($method); if($method == 'get' && !empty($vars)) { if(strpos($url, '?') === false) $url = $url . '?' . http_build_query($vars); else $url = $url . '&' . http_build_query($vars); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); if ($method == 'post') { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); } $result = curl_exec($ch); if(!curl_errno($ch)) { $result = trim($result); } else { $result = '[error:1]'; } curl_close($ch); return $result; } /** * 获取客户端ip * */ function getIp() { if (isset($_SERVER['HTTP_CLIENT_IP'])) { return $_SERVER['HTTP_CLIENT_IP']; } else if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { return $_SERVER['HTTP_X_FORWARDED_FOR']; } else if (isset($_SERVER['REMOTE_ADDR'])) { return $_SERVER['REMOTE_ADDR']; } return '0.0.0'; } /** * 图片大小验证器 * $_FILES['file']数组 * * 只支持 jpg png gif 格式 默认5M * */ function check_img($file,$limitSize=5242880) { $type_maping = array(1=>'image/gif', 2=>'image/jpeg', 3=>'image/png',4=>'image/pjpeg',5=>'image/x-png',6=>'image/jpg'); if($file['size']>$limitSize) { $rs['error'] = '1'; $rs['msg'] = '图片超过规定大小!'; } elseif($file['error']==4) { $rs['error'] = '1'; $rs['msg'] = '图片文件损害!'; } elseif($file['size']==0) { $rs['error'] = '1'; $rs['msg'] = '空图片或者超过规定大小'; } elseif( !in_array($file['type'],$type_maping) ) { $rs['error'] = '1'; $rs['msg'] = '图片类型错误!'; } else { $rs['error'] = 'no'; $rs['msg'] = 'success'; } return $rs; } /** * 递归方式的对变量中的特殊字符进行转义以及过滤标签 */ function addslashes_deep($value) { if (empty($value))return $value; //Huige 过滤html标签,防止sql注入 return is_array($value) ? array_map('addslashes_deep', $value) : strip_tags(addslashes($value)); } /** * @param mix $value * @return mix */ function stripslashes_deep($value) { if (empty($value))return $value; return is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); } /** * 以新浪微博的字数统计方式统计字数(简单版) * 中文算1个,英文算0.5个,全角字符算1个,半角字符算0.5个。 * @param string $string * @return integer */ function strlen_weibo($string) { if(is_string($string)) { $string=trim(trim($string,' ')); return (strlen($string) + mb_strlen($string,'UTF-8')) / 4; } return false; } /** * 截取指定长度的字符串,超出部分用 ..替换 * @param string $text * @param int $length * @param string $replace * @param string $encoding */ function substr_format($text, $length, $replace='..', $encoding='UTF-8') { if ($text && mb_strlen($text, $encoding)>$length) { return mb_substr($text, 0, $length, $encoding).$replace; } return $text; } /** * * 字符编码转换 * * */ function xwb_iconv($source, $in, $out) { $in = strtoupper($in); $out = strtoupper($out); if ($in == "UTF8"){ $in = "UTF-8"; } if ($out == "UTF8"){ $out = "UTF-8"; } if($in==$out){ return $source; } if(function_exists('mb_convert_encoding')) { return mb_convert_encoding($source, $out, $in ); }elseif (function_exists('iconv')) { return iconv($in,$out."//IGNORE", $source); } return $source; } /** * Created: 2010-10-28 * * 截取一定长度的字符串 * @Author guoliang1 * ***************************************************/ function cut_string($str, $len) { // 检查长度 if (mb_strwidth($str, 'UTF-8')<=$len) { return $str; } // 截取 $i = 0; $tlen = 0; $tstr = ''; while ($tlen < $len) { $chr = mb_substr($str, $i, 1, 'UTF-8'); $chrLen = ord($chr) > 127 ? 2 : 1; if ($tlen + $chrLen > $len) break; $tstr .= $chr; $tlen += $chrLen; $i ++; } if ($tstr != $str) { $tstr .= '...'; } return $tstr; } /** * Created: 2010-10-28 * * 防止XSS攻击,htmlspecialchars的别名 * ***************************************************/ function escape($str, $quote_style = ENT_COMPAT ) { return htmlspecialchars($str, $quote_style); } /** * 格式化时间 * * */ function wb_date_format($time,$format='m月d日 H:i') { $now = time(); $t = $now - $time; if($t >= 3600) { if(date('Y')==date('Y',$time)) $time =date($format,$time); else $time =date('Y年m月d日 H:i',$time); } elseif ($t < 3600 && $t >= 60) $time = floor($t / 60) . "分钟前"; else $time = "刚刚"; return $time; } function isChinese($string) { if(preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$string)) return true; return false; } function isMobile($mobile) { if(preg_match("/^1[345689]\d{9}$/", $mobile)) return true; return false; } function dayToWeek($time) { $time = empty($time) ? TIME : $time; $date[0] = '周日'; $date[1] = '周一'; $date[2] = '周二'; $date[3] = '周三'; $date[4] = '周四'; $date[5] = '周五'; $date[6] = '周六'; return $date[Date('w',$time)]; } /** * 检测是否为邮箱 * @param $val * @param $domain * @return boolean */ function is_email($val,$domain="") { if(!$domain) { if( preg_match("/^[a-z0-9-_.]+@[\da-z][\.\w-]+\.[a-z]{2,4}$/i", $val) ) return TRUE; return FALSE; } if( preg_match("/^[a-z0-9-_.]+@".$domain."$/i", $val) ) return TRUE; return FALSE; } // junz先生 //http://www.oschina.net/code/snippet_162279_7186 //可逆加密 function extend_decrypt($encryptedText,$key) { $cryptText = base64_decode($encryptedText); $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND); $decryptText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $cryptText, MCRYPT_MODE_ECB, $iv); return trim($decryptText); } //http://www.oschina.net/code/snippet_162279_7186 //可逆解密 function extend_encrypt($plainText,$key) { $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND); $encryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $plainText, MCRYPT_MODE_ECB, $iv); return trim(base64_encode($encryptText)); } ?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
