域名品相分析 - 分析域名是否 数字 字母 拼音 几拼 杂米
短信预约 -IT技能 免费直播动态提醒
举例:
111.com 三位数字
jmkj.com 四位纯声母
jmkjabc.com 7位字母
xian.com 单拼
xianguang.com 两拼
a1a2.com 杂米
计算方法以跑通为主,没有做封装,需要的可以根据需求自己封装下,有更好的计算方式欢迎共同交流。
$domains = [ '111.com', 'jmkj.com', 'jmkjabc.com', 'xian.com', 'xianguang.com', 'a1a2.com', 'zhf.com', 'bpm.com'];foreach ( $domains as $domain){ $main_domain = explode('.', $domain); //域名中包含两个以上小数点 //排除非顶级域名的影响 //比如 1.3e3.com 123.a.com if (count($main_domain) != 2) { echo "域名 {$domain} 非顶级域名"."
"; continue; } if (is_numeric($main_domain[0])) { //纯数字 echo "域名 {$domain} 属于:" . strlen($main_domain[0]) . "位数字"; } elseif (ctype_alpha($main_domain[0])) { //纯字母 //检查是否为纯声母 //声母 $initial_consonant = [ ['b', 'p', 'm', 'f', 'd', 't', 'n', 'l', 'g', 'k', 'h', 'j', 'q', 'x', 'r', 'z', 'c', 's', 'y', 'w'], ['zh', 'ch', 'sh'], ]; $item = $main_domain[0]; $len = strlen($main_domain[0]); $temp_arr = []; while ($len != 0) { $tmp_str = mb_substr($item, 0, $len); if (isset($initial_consonant[strlen($tmp_str)-1]) && in_array($tmp_str, $initial_consonant[strlen($tmp_str)-1])) { array_push($temp_arr, $tmp_str); if (strlen($tmp_str) == strlen($item)){ break; } //清除已匹配 $item = mb_substr($item, strlen($tmp_str)); $len = strlen($item); continue; } $len--; } if (implode('', $temp_arr) == $main_domain[0]) { echo "域名 {$domain} 属于:". count($temp_arr) ."位纯声母". "
"; continue; } //检查是否为拼音 //韵母字典 + 三拼音节 $compound = [ ['a', 'o', 'e', 'i', 'u'], ['ai', 'ei', 'ui', 'ao', 'ou', 'iu', 'ie', 've', 'er', 'an', 'en', 'in', 'un', 'vn', 'ia', 'ua', 'uo'], ['ang', 'eng', 'ing', 'ong', 'ian', 'iao', 'uai', 'uan', 'uan'], ['iang', 'iong', 'uang'] ]; //组合 $list = []; foreach ($initial_consonant as $item){ foreach ($item as $key => $value){ foreach ($compound as $row){ foreach ($row as $k => $v){ $list[strlen($value.$v)][] = $value.$v; } } } } //进行匹配 $temp_arr = []; $item = $main_domain[0]; $len = strlen($item); while ($len != 0) { $tmp_str = mb_substr($item, -$len); if (isset($list[strlen($tmp_str)]) && in_array($tmp_str, $list[strlen($tmp_str)])) { array_unshift($temp_arr, $tmp_str); //清除已匹配 $item = mb_substr($item, 0, strlen($item)-$len); $len = strlen($item); continue; } $len--; } if (implode('', $temp_arr) == $main_domain[0]) { echo "域名 {$domain} 属于:".count($temp_arr)."拼"; }else{ echo "域名 {$domain} 属于:".strlen($main_domain[0])."位纯字母"; } } elseif (ctype_alnum($main_domain[0])) { //字母+数字 echo "域名 {$domain} 属于:杂米"; } echo "
";}
来源地址:https://blog.csdn.net/w263756314/article/details/125265865
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341