正在显示
1 个修改的文件
包含
28 行增加
和
0 行删除
| @@ -116,3 +116,31 @@ if(!function_exists('_get_child')){ | @@ -116,3 +116,31 @@ if(!function_exists('_get_child')){ | ||
| 116 | return $new_arr ? $new_arr : false; | 116 | return $new_arr ? $new_arr : false; |
| 117 | } | 117 | } |
| 118 | } | 118 | } |
| 119 | + | ||
| 120 | + | ||
| 121 | + | ||
| 122 | +if (!function_exists('checkDomain')) { | ||
| 123 | + /** | ||
| 124 | + * 检查并补全域名协议 | ||
| 125 | + * @return false|string | ||
| 126 | + * @author zbj | ||
| 127 | + * @date 2023/5/5 | ||
| 128 | + */ | ||
| 129 | + function checkDomain($value) | ||
| 130 | + { | ||
| 131 | + $urlParts = parse_url(strtolower($value)); | ||
| 132 | + if(empty($urlParts['host'])){ | ||
| 133 | + $urlParts = parse_url('https://' . $value); | ||
| 134 | + } | ||
| 135 | + $host = $urlParts['host'] ?? ''; | ||
| 136 | + $scheme = $urlParts['scheme'] ?? 'https'; | ||
| 137 | + if(!in_array($scheme, ['http', 'https'])){ | ||
| 138 | + return false; | ||
| 139 | + } | ||
| 140 | + if (preg_match('/^(?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,6}$/', $host)) { | ||
| 141 | + return $scheme . '://' . $host; | ||
| 142 | + } else { | ||
| 143 | + return false; | ||
| 144 | + } | ||
| 145 | + } | ||
| 146 | +} |
-
请 注册 或 登录 后发表评论