Posted By

zhengrenchi on 03/25/09


Tagged

filter domain pinyin


Versions (?)

Select double pinyin domain name from database


 / Published in: PHP
 

URL: http://www.pjoke.com/tools/domain/pinyindomain.php

从数据库中选出大于3小于13的纯字母域名,然后进行过滤,得到双拼域名。 增加一个拼音预判断,过滤掉前两个字母不符合拼音要求的字符串。

  1. <?php
  2. /*
  3.  * Author: polo.mp
  4.  * Data: 2009-03-26
  5.  * Modified: 2009-03-27
  6.  * Url: http://www.pjoke.com/tools/domain/pinyindomain.php
  7.  */
  8. date_default_timezone_set(RPC); //设置�认��为中�
  9. $shuangpinfile = "shuangpin.html";
  10. $shuangpinTime = 0;
  11. if (file_exists($shuangpinfile)) {
  12. $shuangpinTime = date("YmdH", filemtime($shuangpinfile));
  13. }
  14. $nowTime = date("YmdH", time());
  15.  
  16. if ($nowTime - $shuangpinTime > 1) { //1��1次
  17. $fp = fopen($shuangpinfile, 'wb');
  18. }
  19. else {
  20. $fp = fopen($shuangpinfile, 'rb');
  21. include("header.php");
  22. fpassthru($fp);
  23. include("footer.php");
  24. fclose($fp);
  25. }
  26.  
  27. require_once('../../db/jk-config.php');
  28.  
  29. $pinyinA = array("a","ai","an","ang","ao",
  30. "ba","bai","ban","bang","bao","bei","ben","beng","bi","bian","biao","bie","bin","bing","bo","bu",
  31. "ca","cai","can","cang","cao","ce","cen","ceng","cha","chai","chan","chang","chao","che","chen","cheng","chi","chong","chou","chu","chua","chuai","chuan","chuang","chui","chun","chuo","ci","cong","cou","cu","cuan","cui","cun","cuo",
  32. "da","dai","dan","dang","dao","de","dei","den","deng","di","dia","dian","diao","die","ding","diu","dong","dou","du","duan","dui","dun","duo",
  33. "e","ei","en","eng","er",
  34. "fa","fan","fang","fei","fen","feng","fo","fou","fu",
  35. "ga","gai","gan","gang","gao","ge","gei","gen","geng","gong","gou","gu","gua","guai","guan","guang","gui","gun","guo",
  36. "ha","hai","han","hang","hao","he","hei","hen","heng","hong","hou","hu","hua","huai","huan","huang","hui","hun","huo",
  37. "ji","jia","jian","jiang","jiao","jie","jin","jing","jiong","jiu","ju","juan","jue","jun",
  38. "ka","kai","kan","kang","kao","ke","kei","ken","keng","kong","kou","ku","kua","kuai","kuan","kuang","kui","kun","kuo",
  39. "la","lai","lan","lang","lao","le","lei","leng","li","lia","lian","liang","liao","lie","lin","ling","liu","lo","long","lou","lu","luan","lun","luo","lv","lve",
  40. "ma","mai","man","mang","mao","me","mei","men","meng","mi","mian","miao","mie","min","ming","miu","mo","mou","mu",
  41. "na","nai","nan","nang","nao","ne","nei","nen","neng","ng","ni","nian","niang","niao","nie","nin","ning","niu","nong","nou","nu","nuan","nun","nuo","nv","nve",
  42. "o","ou",
  43. "pa","pai","pan","pang","pao","pei","pen","peng","pi","pian","piao","pie","pin","ping","po","pou","pu",
  44. "qi","qia","qian","qiang","qiao","qie","qin","qing","qiong","qiu","qu","quan","que","qun",
  45. "ran","rang","rao","re","ren","reng","ri","rong","rou","ru","ruan","rui","run","ruo",
  46. "sa","sai","san","sang","sao","se","sen","seng","sha","shai","shan","shang","shao","she","shei","shen","sheng","shi","shou","shu","shua","shuai","shuan","shuang","shui","shun","shuo","si","song","sou","su","suan","sui","sun","suo",
  47. "ta","tai","tan","tang","tao","te","teng","ti","tian","tiao","tie","ting","tong","tou","tu","tuan","tui","tun","tuo",
  48. "wa","wai","wan","wang","wei","wen","weng","wo","wu",
  49. "xi","xia","xian","xiang","xiao","xie","xin","xing","xiong","xiu","xu","xuan","xue","xun",
  50. "ya","yan","yang","yao","ye","yi","yin","ying","yingli","yo","yong","you","yu","yuan","yue","yun",
  51. "za","zai","zan","zang","zao","ze","zei","zen","zeng","zha","zhai","zhan","zhang","zhao","zhe","zhei","zhen","zheng","zhi","zhong","zhou","zhu","zhua","zhuai","zhuan","zhuang","zhui","zhun","zhuo","zi","zong","zou","zu","zuan","zui","zun","zuo");
  52.  
  53. $pinyinB = array("a","ai","an","ang","ao",
  54. "ba","bai","ban","bang","bao","bei","ben","beng","bi","bian","biao","bie","bin","bing","bo","bu",
  55. "ca","cai","can","cang","cao","ce","cen","ceng","cha","chai","chan","chang","chao","che","chen","cheng","chi","chong","chou","chu","chua","chuai","chuan","chuang","chui","chun","chuo","ci","cong","cou","cu","cuan","cui","cun","cuo",
  56. "da","dai","dan","dang","dao","de","dei","den","deng","di","dia","dian","diao","die","ding","diu","dong","dou","du","duan","dui","dun","duo",
  57. "e","ei","en","eng","er",
  58. "fa","fan","fang","fei","fen","feng","fo","fou","fu",
  59. "ga","gai","gan","gang","gao","ge","gei","gen","geng","gong","gou","gu","gua","guai","guan","guang","gui","gun","guo",
  60. "ha","hai","han","hang","hao","he","hei","hen","heng","hong","hou","hu","hua","huai","huan","huang","hui","hun","huo",
  61. "ji","jia","jian","jiang","jiao","jie","jin","jing","jiong","jiu","ju","juan","jue","jun",
  62. "ka","kai","kan","kang","kao","ke","kei","ken","keng","kong","kou","ku","kua","kuai","kuan","kuang","kui","kun","kuo",
  63. "la","lai","lan","lang","lao","le","lei","leng","li","lia","lian","liang","liao","lie","lin","ling","liu","lo","long","lou","lu","luan","lun","luo","lv","lve",
  64. "ma","mai","man","mang","mao","me","mei","men","meng","mi","mian","miao","mie","min","ming","miu","mo","mou","mu",
  65. "na","nai","nan","nang","nao","ne","nei","nen","neng","ng","ni","nian","niang","niao","nie","nin","ning","niu","nong","nou","nu","nuan","nun","nuo","nv","nve",
  66. "o","ou",
  67. "pa","pai","pan","pang","pao","pei","pen","peng","pi","pian","piao","pie","pin","ping","po","pou","pu",
  68. "qi","qia","qian","qiang","qiao","qie","qin","qing","qiong","qiu","qu","quan","que","qun",
  69. "ran","rang","rao","re","ren","reng","ri","rong","rou","ru","ruan","rui","run","ruo",
  70. "sa","sai","san","sang","sao","se","sen","seng","sha","shai","shan","shang","shao","she","shei","shen","sheng","shi","shou","shu","shua","shuai","shuan","shuang","shui","shun","shuo","si","song","sou","su","suan","sui","sun","suo",
  71. "ta","tai","tan","tang","tao","te","teng","ti","tian","tiao","tie","ting","tong","tou","tu","tuan","tui","tun","tuo",
  72. "wa","wai","wan","wang","wei","wen","weng","wo","wu",
  73. "xi","xia","xian","xiang","xiao","xie","xin","xing","xiong","xiu","xu","xuan","xue","xun",
  74. "ya","yan","yang","yao","ye","yi","yin","ying","yingli","yo","yong","you","yu","yuan","yue","yun",
  75. "za","zai","zan","zang","zao","ze","zei","zen","zeng","zha","zhai","zhan","zhang","zhao","zhe","zhei","zhen","zheng","zhi","zhong","zhou","zhu","zhua","zhuai","zhuan","zhuang","zhui","zhun","zhuo","zi","zong","zou","zu","zuan","zui","zun","zuo");
  76.  
  77.  
  78.  
  79. $sqlstr = "select * from pooldrop where length(`name`)<13 and length(`name`)>3 and `name` regexp '^[[:alpha:]]+$' and `type`='com' order by date asc";
  80.  
  81. $result = $jkdb->get_results($sqlstr);
  82.  
  83. $htmltext = "<p>���������.com�</p></td>
  84. </tr>
  85. <tr><td></td></tr>
  86. <tr>
  87. <td width=\"773\" colspan=\"2\">";
  88.  
  89. $count = 0;
  90. if ($result) {
  91. $htmltext.= "<table><tr><td>��</td><td>��</td><td>������������</td></tr>";
  92. foreach ($result as $re) :
  93. if (checkStrDoublePinyin($re->name)) {
  94. $htmltext .= "<tr><td>".$re->name."</td><td>".$re->type."</td><td>".$re->date."</td></tr>";
  95. $count++;
  96. if ($count > 200) break;
  97. }
  98. endforeach;
  99. $htmltext .= "</table>";
  100. }
  101.  
  102. fwrite($fp, $htmltext);
  103. fclose($fp);
  104. include("header.php");
  105. echo $htmltext;
  106. include("footer.php");
  107.  
  108. function checkStart($str)
  109. {
  110. switch ($str[0]) {
  111. case 'a':
  112. case 'e':
  113. case 'o':
  114. return true;
  115. case 'l':
  116. case 'n':
  117. if ($str[1] == 'a' || $str[1] == 'e' || $str[1] == 'i' || $str[1] == 'o' || $str[1] == 'u' || $str[1] == 'v')
  118. return true;
  119. else
  120. return false;
  121. case 'c':
  122. case 's':
  123. case 'z':
  124. if ($str[1] == 'h' || $str[1] == 'a' || $str[1] == 'e' || $str[1] == 'i' || $str[1] == 'o' || $str[1] == 'u')
  125. return true;
  126. else
  127. return false;
  128. case 'b':
  129. case 'd':
  130. case 'm':
  131. case 'p':
  132. case 'r':
  133. case 't':
  134. case 'y':
  135. if ($str[1] == 'a' || $str[1] == 'e' || $str[1] == 'i' || $str[1] == 'o' || $str[1] == 'u')
  136. return true;
  137. else
  138. return false;
  139. case 'f':
  140. case 'g':
  141. case 'h':
  142. case 'k':
  143. case 'w':
  144. if ($str[1] == 'a' || $str[1] == 'e' || $str[1] == 'o' || $str[1] == 'u')
  145. return true;
  146. else
  147. return false;
  148. case 'j':
  149. case 'q':
  150. case 'x':
  151. if ($str[1] == 'i' || $str[1] == 'u')
  152. return true;
  153. else
  154. return false;
  155. default:
  156. return false;
  157. }
  158. }
  159.  
  160.  
  161. function checkStrDoublePinyin($str)
  162. {
  163. global $pinyinA;
  164.  
  165. $tmpstr = $str;
  166. if (checkStart($tmpstr) === false) return false;
  167. foreach($pinyinA as $value):
  168.  
  169. if (strpos($tmpstr, $value) === 0) {
  170. if (isPinYin(substr($tmpstr, strlen($value))) === true) {
  171. return true;
  172. }
  173. else {
  174. continue;
  175. }
  176. }
  177.  
  178. endforeach;
  179.  
  180. return false;
  181. }
  182.  
  183. function isPinYin($str)
  184. {
  185. global $pinyinB;
  186.  
  187. if (checkStart($str) === false) return false;
  188. foreach($pinyinB as $value1):
  189. if ($value1 === $str) {
  190. return true;
  191. }
  192. endforeach;
  193.  
  194. return false;
  195. }
  196.  
  197. ?>

Report this snippet  

You need to login to post a comment.