文档手册

迅睿全局函数

2024-12-19 20:28:00
/** 判断是否为空白
 * @param $value
 * @return 是否空白 */
function dr_is_empty($value) 


/** 是否301跳转
 * @return 是否301跳转 */
function dr_is_sys_301() 


/** 两个变量判断是否有值并返回
 * @param $a 变量1
 * @param $b 变量2
 * @return $a 有值时返回$a 否则返回$b */
function dr_else_value($a, $b) 


/** 安全url过滤
 * @param $url URL地址
 * @param $is_html 是否作为html转换
 * @return 过滤后的URL地址 */
function dr_safe_url($url, $is_html = false) 


/** 模糊比较两个变量
 * @param $str1 变量1
 * @param $str2 变量2
 * @return 判断两个变量是否相等 */
function dr_diff($str1, $str2) 


/** 返回包含数组中所有键名的一个新数组
 * @param $array 指定数组
 * @param $value 具体值
 * @param $strict 严格比较
 * @return 返回包含数组中所有键名的一个新数组 */
function dr_array_keys($array, $value = '', $strict = false) 


/** 返回包含数组中指定键名的对应值
 * @param $array 指定数组
 * @param $key 数组key
 * @return 返回包含数组中指定键名的对应值 */
function dr_array_value($array, $key) 


/** 判断存在于数组中
 * @param $var|array 指定值或数组
 * @param $array 指定数组
 * @return 判断$var是否存在于数组$array中 */
function dr_in_array($var, $array) 


/** 两个数组比较
 * @param $arr1 指定数组1
 * @param $arr2 指定数组2
 * @return 比较两个数组的键值,并返回交集 */
function dr_array_intersect($arr1, $arr2) 


/** 两个数组比较
 * @param $arr1 指定数组1
 * @param $arr2 指定数组2
 * @return 比较两个数组的键名,并返回交集 */
function dr_array_intersect_key($arr1, $arr2) 


/** 字符长度
 * @param $string 字符串
 * @return 返回字符串的长度 */
function dr_strlen($string) 


/** 字符是否包含
 * @param $string 原字符串
 * @param $key 查询的字符串
 * @return 返回$string中是否包含$key,区分大小写 */
function dr_strpos($string, $key) 


/** 字符是否包含
 * @param $string 原字符串
 * @param $key 查询的字符串
 * @return 返回$string中是否包含$key,不区分大小写 */
function dr_stripos($string, $key) 


/** 上传移动文件
 * @param $tempfile 临时文件
 * @param $fullname 存储文件
 * @return 将临时文件存储到指定的目录中 */
function dr_move_uploaded_file($tempfile, $fullname) 


/** html实体字符转换
 * @param $value 指定字符串
 * @param $fullname 存储文件
 * @return 用htmlspecialchars进行html转码值 */
function dr_html2code($value) 


/** html实体字符转换
 * @param $value 指定字符串
 * @param $fk 强制转为utf8
 * @param $flags 用下列标记中的一个或多个作为一个位掩码
 * @return htmlspecialchars_decode进行html转码值 */
function dr_code2html($value, $fk = false, $flags = '') 


/** html实体字符转换
 * @param $value 指定字符串
 * @param $fk 强制转为utf8
 * @param $flags 用下列标记中的一个或多个作为一个位掩码
 * @return htmlspecialchars_decode进行html转码值 */
function dr_html_code($value, $fk = false, $flags = '') 


/** 快捷登录接入商信息列表
 * @return 返回文件数组 */
function dr_oauth_list() 


/** 判断是否是移动端终端
 * @return bool */
if (!function_exists('dr_is_mobile')) {
    function dr_is_mobile() 


/** 后台搜索字段过滤函数
 * @param $t 单个字段数组
 * @return 是否被搜索时可用 */
function dr_is_admin_search_field($t) 


/** 通过数组值查找数组key
 * @param $array 数组
 * @param $value 指定键值
 * @return 返回键值对应的键名 */
function dr_get_array_key($array, $value) 


/** 站点信息/项目信息的字段输出(自定义模板方式)
 * @param $name 字段名
 * @param $siteid 项目/站点id
 * @return 字段值 */
function dr_site_info($name, $siteid = SITE_ID) 


/** 站点信息/项目信息的字段输出(自定义字段方式)
 * @param $name 字段名
 * @param $siteid 项目/站点id
 * @return 字段值 */
function dr_site_value($name, $siteid = SITE_ID) 


/** ftable字段输出
 * @param $id 字段id
 * @param $value 存储值
 * @param $class 给table指定class
 * @return 表格 */
function dr_get_ftable($id, $value, $class = '') 


/** ftable字段数组
 * @param $id 字段id
 * @param $value 存储值
 * @return 表格输出 */
function dr_get_ftable_array($id, $value) 


/** 获取内容中的缩略图
 * @param $value 内容值
 * @param $num 指定获取数量
 * @return 在变量中提取img标签的图片路径到数组 */
function dr_get_content_img($value, $num = 0) 


/** 获取内容中的指定标签URL地址
 * @param $value 内容值
 * @param $attr 标签值,例如src
 * @param $ext 指定扩展名,例如jpg|gif
 * @param $num 指定获取数量
 * @return 在变量中提取img标签的图片路径到数组 */
function dr_get_content_url($value, $attr, $ext, $num = 0) 


/** 插件是否被安装
 * @param $dir 插件英文名
 * @return bool */
function dr_is_app($dir) 


/** 模块是否被安装
 * @param $dir 模块英文名
 * @param $siteid 站点id
 * @return bool */
function dr_is_module($dir, $siteid = SITE_ID) 


/** 字符串替换函数
 * @param $str 指定字符串
 * @param $o 需要替换的值
 * @param $t 替换后的值
 * @return 进行str_replace运算 */
function dr_rp($str, $o, $t) 


/** 替换模板参数特殊字符
 * @param $str 指定字符串
 * @param $rt 正向或者反向
 * @return 特殊字符替换 */
function dr_rp_view($str, $rt = 0) 


/** 二维码调用
 * @param $text 指定字符串
 * @param $thumb 中间图片
 * @param $level 等级字母
 * @param $size 大小值
 * @return 生成二维码图片url */
function dr_qrcode($text, $thumb = '', $level = 'H', $size = 5) 


/** 秒转化时间
 * @param $times 多少秒
 * @return 返回秒对于的时分秒值 */
function dr_sec2time($times)


/** 格式化多文件数组
 * @param $value json字符
 * @param $limit 限定返回几个值
 * @return 格式化多文件数组 */
function dr_get_files($value, $limit = '') 


/** 格式化图片专用数组
 * @param $value json字符
 * @return 格式化图片专用数组 */
function dr_get_image($value) 


/** 文件上传临时目录
 * @return 文件上传临时目录 */
function dr_upload_temp_path() 


/** 星级显示
 * @param $num 数字
 * @param $shifen 按十分计算
 * @return 星级显示 */
function dr_star_level($num, $shifen = 0) 


/** 格式化sql创建
 * @param $sql
 * @return 格式化sql创建 */
function dr_format_create_sql($sql) 


/** 获取cms域名部分
 * @param $url 指定url
 * @return 从指定url中获取cms域名部分 */
function dr_cms_domain_name($url) 


/** 多语言输出
 * @param $param 指定文字
 * @return 将指定文字转换成系统对于的语言文字 */
function dr_lang(...$param) 


/** 获取终端列表
 * @return 获取终端列表 */
function dr_client_data() 


/** 格式化编辑器内容数据
 * @param $value 指定文字
 * @param $title title标题值
 * @return 将UEDITOR_IMG_TITLE替换成指定的标题 */
function dr_ueditor_html($value, $title = '') 


/** 获取域名部分
 * @param $url
 * @return 从$url中获取到域名 */
function dr_get_domain_name($url) 


/** 按百分比分割数组
 * @param $data 数组
 * @param $num 分成几等分
 * @return 将数组按百分比等分划分 */
function dr_save_bfb_data($data, $num = 100) 


/** 会员头像存储目录
 * @param $uid
 * @return 按uid进行分配头像存储目录 */
function dr_avatar_dir($uid) 


/** 会员头像存储路径
 * @return 返回头像存储目录和对于的访问url */
function dr_avatar_path() 


/** 会员头像
 * @param   $uid
 * @param   $fix 是否加时间戳后缀
 * @return  会员头像url */
if (!function_exists('dr_avatar')) {
    function dr_avatar($uid, $fix = 1) 


/** 调用会员详细信息(自定义字段需要手动格式化)
 * @param   $uid    会员uid
 * @param   $name   输出字段
 * @param   $cache  缓存时间
 * @return  用户详情数组 */
function dr_member_info($uid, $name = '', $cache = -1) 


/** 调用会员详细信息(自定义字段需要手动格式化)
 * @param   $username   会员账号
 * @param   $name   输出字段
 * @param   $cache  缓存时间
 * @return  用户详情数组 */
function dr_member_username_info($username, $name = '', $cache = -1) 


/** 执行函数 */
function dr_list_function($func, $value, $param = [], $data = [], $field = [], $name = '') 


/** 联动菜单包屑导航
 * @param   string  $code   联动菜单代码
 * @param   intval  $id     id
 * @param   string  $symbol 间隔符号
 * @param   string  $url    url地址格式,必须存在[linkage],否则返回不带url的字符串
 * @param   string  $html   格式替换
 * @return  string */
function dr_linkagepos($code, $id, $symbol = ' > ', $url = '', $html = '') 


/** 联动菜单调用
 * @param   string  $code   菜单代码
 * @param   intval  $id     菜单id
 * @param   intval  $level  调用级别,1表示顶级,2表示第二级,等等
 * @param   string  $name   菜单名称,如果有显示它的值,否则返回数组
 * @return  array */
function dr_linkage($code, $id, $level = 0, $name = '') 


/** 联动菜单json数据
 * @param   string  $code   菜单代码
 * @param   intval  $pid    菜单父级id或者别名
 * @return  array */
function dr_linkage_json($code) 


/** 联动菜单列表数据
 * @param   string  $code   菜单代码
 * @param   intval  $pid    菜单父级id或者别名
 * @return  array */
function dr_linkage_list($code, $pid) 


/** 联动菜单的id号获取
 * @param   string  $code   菜单代码
 * @param   string  $cname  别名
 * @return  array */
function dr_linkage_id($code, $cname) 


/** 联动菜单的别名获取
 * @param   string  $code   菜单代码
 * @param   int     $id     id
 * @return  array */
function dr_linkage_cname($code, $id) 


/** 联动菜单的最大层级
 * @param   string  $code   菜单代码
 * @return  array */
function dr_linkage_level($code) 


/** 支付表单调用
 * mark     表名-主键id-字段id
 * value    支付金额
 * title    支付说明
 * */
function dr_payform($mark, $value = 0, $title = '', $url = '',  $remove_div  = 1) 


/** 字段表单调用
 * field    字段配置
 * value    默认值
 * remove_div 移除div区域
 * load_js 重新加载js文件
 * */
function dr_fieldform($field, $value = '', $remove_div  = 1, $load_js = 0) 


/** 资料块内容
 * @param   intval  $id
 * @return  array */
function dr_block($id, $type = 0, $site = 0) 


/** 全局变量调用
 * @param   string  $name   别名
 * @return */
function dr_var_value($name) 


/** 文件真实地址 */
function dr_get_file($id, $full = 0) 


/** 文件下载地址 */
function dr_down_file($id, $name = '') 


/** 根据附件信息获取文件地址
 * @param   array   $data
 * @return  string */
function dr_get_file_url($data, $w = 0, $h = 0) 


/** 任意字段的选项值(用于options参数的字段,如复选框、下拉选择框、单选按钮)
 * @param   intval  $id
 * @return  array */
function dr_field_options($id) 


/** 验证用户权限(废弃)
 * my   我的authid
 * auth 目标权限组
 * return 1有权限 0无权限 */
function dr_member_auth($my, $auth) 


/** 用于用户权限取取反值(废弃) */
function dr_member_auth_id($authid, $postid) 


/** 获取折扣价格值
 * @param $value 价格值
 * @param $zhe 折扣值
 * @return 折扣计算后的值 */
function dr_zhe_price($value, $zhe) 


/** 获取价格值
 * @param $value 价格值
 * @param $num 小数位
 * @return 计算后的值 */
function dr_price_value($value, $num = 2) 


/** sku 获取属性值名称
 * @param $value 字段值
 * @param $sku sku数组
 * @param $name 属性key
 * @return 属性名称 */
function dr_sku_value_name($value, $sku, $name) 


/** sku 价格信息
 * @param $value 字段值
 * @param $number 小数位
 * @param $join 连接符号
 * @param $zhe 折扣值
 * @return 最终计算值 */
function dr_sku_price($value, $number = 2, $join = ' - ', $zhe = 0) 


/** sku 获取名称
 * @param $key sku字符串
 * @param $data 主题数组
 * @param $type 默认
 * @return 属性名称 */
function dr_sku_name($key, $data, $type = 0) 


/** 下一个升级值
 * @param $array 用户组数组
 * @param $id 组id号
 * @return 下一个升级值 */
function dr_level_next_value($array, $id) 


/** 静态生成时权限认证字符(加密)
 * @param $ip 运行者ip地址
 * @return 返回逻辑值 */
function dr_html_auth($ip = 0) 


/** 付款方式显示
 * @param $name 支付名
 * @return 返回数组 */
function dr_pay_type_html($name) 


/** 付款方式显示
 * @param $name 支付名
 * @return 返回数组 */
function dr_pay_name($name) 


/** 付款方式的名称
 * @param $name 支付名
 * @return 返回数组 */
function dr_pay_type($name) 


/** 付款状态的名称
 * @param $data 支付记录数据
 * @return 返回状态 */
function dr_pay_status($data) 


/** 付款金额显示
 * @param $data 价格值
 * @param $v 小数位
 * @return 返回带html的金额值标签 */
function dr_pay_money_html($data, $v = 2) 


/** 清除空白字符
 * @param $value 字符串
 * @return 返回字符串 */
function dr_clear_empty($value) 


/** 列表字段进行排序筛选
 * @param $field 字段列表数组
 * @return 返回过滤后的数组 */
function dr_list_field_order($field) 


/** 两数组追加合并
 * @param $a1 数组1
 * @param $a2 数组2
 * @return 返回合并后的数组 */
function dr_array2array($a1, $a2) 


/** 两数组覆盖合并
 * @param $a1 1是老数据
 * @param $a2 2是新数据
 * @return 返回处理后的数组 */
function dr_array22array($a1, $a2) 


/** 判断是否启用了内容系统插件 */
function dr_is_use_module() 


/** 站点表前缀
 * @param $table 表名
 * @param $siteid 站点id
 * @return 返回当前站点对应的表名称 */
function dr_site_table_prefix($table, $siteid = SITE_ID) 


/** 模块表前缀
 * @param $dir 模块目录
 * @param $siteid 站点id
 * @return 返回当前站点对应的表名称 */
function dr_module_table_prefix($dir, $siteid = SITE_ID) 


/** 模块表单前缀
 * @param $dir 模块目录
 * @param $table 表名
 * @param $siteid 站点id
 * @return 返回当前站点对应的表名称 */
function dr_mform_table_prefix($dir, $table, $siteid = SITE_ID) 


/** 网站表单表前缀
 * @param $dir 表单名
 * @param $siteid 站点id
 * @return 返回当前站点对应的表名称 */
function dr_form_table_prefix($dir, $siteid = SITE_ID) 


/** 返回图标
 * @param $value 原定的图标
 * @return 如没有原地图标就返回默认图标 */
function dr_icon($value) 


/** 完整的文件URL
 * @param $url 文件参数
 * @param $full 是否补全绝对域名
 * @return 返回文件的完整url地址 */
function dr_file($url, $full = 0) 


/** 根据文件扩展名获取文件预览信息
 * @param $value 文件路径参数
 * @param $id 文件id值
 * @return 返回文件可预览的img标签 */
function dr_file_preview_html($value, $id = 0) 


/**  文件是否是图片
     * @param $value 文件路径参数
     * @return 判断这个是否是一张图片     */
    function dr_is_image($value)
    


/** 格式化复选框\单选框\选项值
 * @param $value 参数
 * @return 字符串转换为数组 */
function dr_format_option_array($value) 


/** 字段输出表单(废弃) */
function dr_field_input($name, $type, $option, $value = '', $id = 0) 


/** 目录列表获取
 * @param   $source_dir  源目录
 * @param   $directory_depth 目录纵深 0全目录 1当前目录
 * @param   $hidden    是否包含隐藏目录
 * @return  整个目录名的数组格式 */
function dr_dir_map($source_dir, $directory_depth = 0, $hidden = FALSE) 


/** 文件列表获取
 * @param   $source_dir  源目录
 * @param   $directory_depth 目录纵深 0全目录 1当前目录
 * @param   $hidden    是否包含隐藏目录
 * @return  整个文件名的数组格式 */
function dr_file_map($source_dir) 


/** 数据返回统一格式
 * @param $code 状态码 0失败 >1表示成功
 * @param $msg 提示文字
 * @param $data 传输数组
 * @param $extend 根附加数组
 * @return 返回统一的数组格式 */
function dr_return_data($code, $msg = '', $data = [], $extend = []) 


/** 提交表单默认隐藏域
 * @param $data 可填充的隐藏域数组格式
 * @return 表单隐藏域控件代码 */
function dr_form_hidden($data = []) 


/** 验证csrf字符串 */
function dr_get_csrf_token() 


/** 搜索表单隐藏域
 * @param $p 可填充的隐藏域数组格式
 * @return 表单隐藏域控件代码 */
function dr_form_search_hidden($p = []) 


/** Base64加密
 * @param   $string 参数
 * @return  加密后的字符串 */
function dr_base64_encode($string) 


/** Base64解密
 * @param   $string 参数
 * @return  解密后的值 */
function dr_base64_decode($string) 


/** 网站风格目录
 * @return  网站风格目录数组 */
function dr_get_theme() 


/** 获取6位数字随机验证码 */
function dr_randcode() 


/** 删除目录及目录下面的所有文件
 * @param    $dir        路径
 * @param   $is_all     包括删除当前目录
 * @return  如果成功则返回 TRUE,失败则返回 FALSE */
function dr_dir_delete($path, $del_dir = FALSE, $htdocs = FALSE, $_level = 0)



/** 基于本地存储的加解密算法
 * @param $string 传入字符串
 * @param $operation DECODE是解密,否则是加密
 * @return 返回加解密后的值 */
function dr_authcode($string, $operation = 'DECODE') 


/** 当前浏览器的URL */
function dr_now_url() 


/** 验证码图片获取
 * @param $width 宽度
 * @param $height 高度
 * @param $url 废弃
 * @return 返回验证码img标签的格式 */
function dr_code($width, $height, $url = '') 


/** 排序字符串转换操作
 * @param $name 字段名称
 * @return 根据浏览器order参数返回对应的字符串 */
function dr_sorting($name) 


/** 移除order字符串
 * @param $url 指定url地址
 * @return 把url中的order参数移除 */
function dr_member_order($url) 


/** 用户等级 显示星星
 * @param    $num
 * @param   $starthreshold  星星数在达到此阈值(设为 N)时,N 个星星显示为 1 个月亮、N 个月亮显示为 1 个太阳。
 * @return  img标签值 */
function dr_show_stars($num, $starthreshold = 4) 


/** 动态调用模板
 * @param $id div控件的ID名
 * @param $filename 模板文件名
 * @param $param_str 附加URL参数
 * @return 返回ajax调用代码 */
function dr_ajax_template($id, $filename, $param_str = '') 


/** https进行post数据
 * @param $url 请求地址
 * @param $param 请求参数数组
 * @return 返回信息 */
function dr_post_json_data($url, $param = []) 


/** 调用远程数据 curl获取
 * @param   $url
 * @param   $timeout 超时时间,0不超时
 * @param   $is_log 0表示请求失败不记录到系统日志中
 * @param   $ct 0表示不尝试重试,1表示重试一次
 * @return  请求结果值 */
function dr_catcher_data($url, $timeout = 0, $is_log = true, $ct = 0) 


/** 伪静态代码处理
 * @param   $params 参数数组
 * @param   $search 搜索配置
 * @return  string */
function dr_search_rewrite_encode($params, $search) 


/** 伪静态代码转换为数组
 * @param   $params 参数字符串
 * @return  参数数组 */
function dr_search_rewrite_decode($params, $search) 


/** 伪静态代码处理
 * @param   $params 参数数组
 * @return  组合后的字符串 */
function dr_rewrite_encode($params, $join = '-', $field = []) 


/** 伪静态代码转换为数组
 * @param   $params 参数字符串
 * @return  数组参数 */
function dr_rewrite_decode($params, $join = '-', $field = []) 


/** 安全过滤格式化搜索关键词参数
 * @param $s 参数
 * @return 处理后的值 */
function dr_get_keyword($s) 


/**  安全过滤格式化搜索关键词参数
     * @param $s 参数
     * @return 处理后的值     */
    function dr_safe_keyword($s) 


/** 安全过滤函数
 * @param $string 参数
 * @param $diy 自定义过滤数组配置
 * @return 处理后的值 */
function dr_safe_replace($string, $diy = []) 


/** 安全过滤文件及目录名称函数
 * @param $string 参数
 * @return 处理后的值 */
function dr_safe_filename($string) 


/** 安全过滤用户名函数
 * @param $string 参数
 * @return 处理后的值 */
function dr_safe_username($string) 


/** 安全过滤密码函数
 * @param $string 参数
 * @return 处理后的值 */
function dr_safe_password($string) 


/** 后台移除http和https协议
 * @param $url 地址
 * @return 处理后的值 */
function dr_rm_http($url) 


/** 将路径进行安全转换变量模式
 * @param $path 目录名
 * @return 处理后的值 */
function dr_safe_replace_path($path) 


/** 字符截取
 * @param $string 字符串
 * @param $limit 长度限制
 * @param $dot 超出的填充字符串
 * @return 处理后的值 */
function dr_strcut($string, $limit = '100', $dot = '...') 


/** 单词截取
 * @param $string 字符串
 * @param $maxchar 长度限制
 * @param $end 超出的填充字符串
 * @return 处理后的值 */
function dr_wordcut($text, $maxchar, $end = '...') 


/** 随机颜色
 * @return  随机后的颜色值 */
function dr_random_color() 


/** 友好时间显示函数
 * @param   $time   时间戳
 * @param  $formt 时间太长时的格式输出
 * @return  string */
function dr_fdate($sTime, $formt = 'Y-m-d') 


/** 时间显示函数
 * @param   $time   时间戳
 * @param   $format 格式与date函数一致
 * @param   $color  当天显示颜色
 * @return  string */
function dr_date($time = '', $format = SITE_TIME_FORMAT, $color = '') 


/** 将对象转换为数组
 * @param   $obj    数组对象
 * @return  array */
function dr_object2array($obj) 


/** 数组截取
 * @param $arr 数组值
 * @param $limit 长度限制
 * @return 处理后的数组 */
function dr_arraycut($arr, $limit) 


/** 将字符串转换为数组
 * @param   $data   字符串
 * @return  array */
function dr_string2array($data, $limit = '') 


/** 将数组转换为字符串
 * @param   $data   数组
 * @return  string */
function dr_array2string($data) 


/** 递归创建目录
 * @param   $dir    目录名称
 * @return  bool|void */
function dr_mkdirs($dir, $null = true) 


/** 格式化输出文件大小
 * @param   $fileSize   大小
 * @param   $round      保留小数位
 * @return  string */
function dr_format_file_size($fileSize, $round = 2) 


/** 关键字高亮显示
 * @param   $string     字符串
 * @param   $keyword    关键字,可数组
 * @return  string */
function dr_keyword_highlight($string, $keyword, $rule = '') 


/** 正则替换和过滤内容
 * @param   $html
 * @return 过滤后的字符串 */
function dr_preg_html($html)


/** 格式化微博内容中url内容的长度(废弃) */
function _format_feed_content_url_length($match) 


/** 二维码地址生成
 * @param $text 二维码的文字
 * @param $uid 中间用户头像的uid
 * @param $level 码块的大小等级
 * @param $size 二维码的大小
 * @return 返回二维码地址 */
function dr_qrcode_url($text, $uid = 0, $level = 'L', $size = 5) 


/** 过滤非排序参数的法字段
 * @param $str 字符串
 * @param $order 排序方式
 * @return 过滤后的值 */
function dr_get_order_string($str, $order) 


/** 两价格的折扣值
 * @param $price 当前价格
 * @param $nowprice 以前的价格
 * @return 计算后的值 */
function dr_discount($price, $nowprice) 


/** 根据两点间的经纬度计算距离
 * @param $new 当前坐标
 * @param $to 目标坐标
 * @param $mark 单位
 * @return 返回距离 */
function dr_distance($new, $to, $mark = '米,千米') 


/** 计算某个经纬度的周围某段距离的正方形的四个点
 * @param $lng float 经度
 * @param $lat float 纬度
 * @param $distance float 该点所在圆的半径,该圆与此正方形内切,默认值为0.5千米
 * @return array 正方形的四个点的经纬度坐标 */
function dr_square_point($lng, $lat, $distance = 0.5)


/** 获取当前模板目录 */
function dr_tpl_path($is_member = IS_MEMBER) 


/** 数组随机排序,并截取数组
 * @param $arr
 * @param $num 数量
 * @return 新数组 */
function dr_array_rand($arr, $num = 0) 


/** 数组的指定元素大小排序
 * @param $arr
 * @param $key KEY键名
 * @param $type 排序方式 asc desc
 * @return 新数组 */
function dr_array_sort($arr, $key, $type = 'asc') 


/** 获取网站表单发布页面需要的变量值 */
function dr_get_form_post_value($table, $siteid = SITE_ID) 


/** 获取模块表单发布页面需要的变量值 */
function dr_get_mform_post_value($mid, $table, $cid, $siteid = SITE_ID) 


/** 获取用户注册页面需要的变量值 */
function dr_get_register_value($groupid = 0, $url = '') 


/** 获取当前模板文件路径
 * @param $file 模板名
 * @return 返回完整名 */
function dr_tpl_file($file) 


/** 兼容统计count函数 */
function dr_count($array_or_countable, $mode = COUNT_NORMAL)


/** 给地址补全https或者http前缀 */
function dr_http_prefix($url) 


/** 转换url
 * @param $Url 指定地址
 * @param $domian 指定域名 或者 模块目录
 * @param int|string $siteid 站点id号
 * @return 新的url */
function dr_to_url($url, $domian = '', $siteid = SITE_ID) 


/** 获取对应的手机端地址
 * @param $url 任意域名
 * @return 新的url */
function dr_mobile_url($url = SITE_MURL) 


/** 是否是完整的url
 * @param $url
 * @return boolean */
function dr_is_url($url) 


/** 补全url
 * @param $url
 * @param string $domain   指定域名或者模块目录
 * @param int|string $siteid    站点ID
 * @param string $is_mobile  是否指定为移动端
 * @return 新的url */
function dr_url_prefix($url, $domain = '', $siteid = SITE_ID, $is_mobile = '') 


/** 补全相对路径
 * @param $url
 * @return 新的url */
function dr_web_prefix($url) 


/** url转为完整路径 URL补全
 * @param $url
 * @param $prefix 指定替换域名/
 * @return 新的url */
function dr_url_full($url, $prefix = '') 


/** url转为相对路径
 * @param $url
 * @param $prefix 将指定字符串替换成/
 * @return 新的url */
function dr_url_rel($url, $prefix = '') 


/** 内容中的转为相对路径
 * @param $text
 * @param $prefix 将指定字符串替换成/
 * @param $attr 将指定替换哪些标签 ['href', 'src']
 * @return 新的内容 */
function dr_text_rel($text, $prefix = '', $attr = ['href', 'src']) 


/** 内容中的转为完整路径,地址补全绝对路径
 * @param $text
 * @param $url 将/替换成哪个地址
 * @param $attr 将指定替换哪些标签 ['href', 'src']
 * @return 新的内容 */
function dr_text_full($text, $url = SITE_URL, $attr = ['href', 'src']) 


/** 计算用户组到期时间
 * @param $days  天数
 * @param $dtype  到期换算单位
 * @param $ntime  时间基数,默认为当前时间
 * @return 是否到期 */
function dr_member_group_etime($days, $dtype, $ntime = 0) 


/** 用户组到期时间单位
 * @param $dtype  到期换算单位
 * @return 单位 */
function dr_member_group_dtype($dtype) 


/** 处理带Emoji的数据,HTML转为emoji码
 * @param $msg  转换字符串
 * @return 新的字符串 */
function dr_html2emoji($msg)


/** 处理带Emoji的数据,写入数据库前的emoji转为HTML(废除) */
function dr_emoji2html($msg) 


/** 过滤emoji表情
 * @param type $str
 * @return 新的字符串 */
function dr_clear_emoji($str)


/** 将同步代码转为数组(废除)
 * @param string 同步代码字符串 */
function dr_member_sync_url($string) 


/** 文字转换拼音
 * @param $str
 * @return 新的字符串 */
function dr_text2py($str) 


/** 将html转化为纯文字去除HTML
 * @param $str
 * @param $cn 是否纯中文
 * @return 新的字符串 */
function dr_html2text($str, $cn = false) 


/** 批量 htmlspecialchars */
function dr_htmlspecialchars($param) 


/** 当前是否是根目录 */
function dr_is_root_path() 


/** 检查目录权限
 * @param $dir 目录地址
 * @return 逻辑值 */
function dr_check_put_path($dir) 


/** 存储调试信息
 * @param file 存储文件
 * @param data 打印变量
 * @return 无 */
function dr_debug($file, $data) 


/** 转为utf8编码格式
 * @param $str 来源字符串 */
function dr_code2utf8($str) 


/**  清除HTML标记
     *
     * @param   string  $str
     * @return  string     */
    function dr_clearhtml($str) 


/** 提取描述信息过滤函数 */
function dr_filter_description($value, $data = [], $old = []) 


/**  提取描述信息     */
    function dr_get_description($text, $limit = 0) 


/**  提取关键字     */
    function dr_get_keywords($kw, $siteid = SITE_ID)
    


/**  跳转地址     */
    function dr_redirect($url = '', $method = 'auto', $code = 0) 


/**  跳转地址安全检测     */
    function dr_redirect_safe_check($url) 


/**  目录列表获取(废除)
     * @param   $source_dir  源目录
     * @param   $directory_depth 目录纵深 0全目录 1当前目录
     * @param   $hidden    是否包含隐藏目录
     * @return  整个目录名的数组格式     */
    function dr_directory_map($source_dir, $directory_depth = 0, $hidden = FALSE)
    

/**  移除不规则的字符串     */
    function remove_invisible_characters($str, $urlEncoded = true)