function.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. require_once '../path.php';
  3. require_once '../public/_pdo.php';
  4. require_once '../redis/function.php';
  5. function getRefFirstMeaning($word,$lang,$redis){
  6. $word = strstr($word,"[",true);
  7. if($redis!==false){
  8. if(mb_substr($word,0,1,"UTF-8")==="["){
  9. $ending = "-".mb_substr($word,1,-1,"UTF-8");
  10. $mean = $redis->hGet("ref_first_mean://".$lang,$ending);
  11. if($mean!=FALSE){
  12. return $mean;
  13. }
  14. }
  15. $mean = $redis->hGet("ref_first_mean://".$lang,$word);
  16. if($mean!=FALSE){
  17. return $mean;
  18. }
  19. if($lang!="en"){
  20. $mean = $redis->hGet("ref_first_mean://en",$word);
  21. if($mean!==FALSE){
  22. return $mean;
  23. }
  24. }
  25. #如果没有查规则变形
  26. if($redis->hExists("dict://regular/part",$word)===TRUE){
  27. $rglPart = explode("+",$redis->hGet("dict://regular/part",$word)) ;
  28. $mean = $mean = $redis->hGet("ref_first_mean://".$lang,$rglPart[0]);
  29. if($mean!=FALSE){
  30. return $mean;
  31. }
  32. }
  33. #查询其他的语言
  34. $any = $redis->hGet("ref_first_mean://com",$word);
  35. if($any!==FALSE){
  36. # code...
  37. return $any;
  38. }
  39. else{
  40. return "";
  41. }
  42. }
  43. else{
  44. PDO_Connect(_FILE_DB_REF_, _DB_USERNAME_, _DB_PASSWORD_);
  45. $query = "SELECT mean from " . _TABLE_DICT_REF_ . " where word = ? and language = ? limit 0,1";
  46. # code...
  47. $mean = PDO_FetchRow($query, array($word, $lang));
  48. if ($mean) {
  49. return $mean["mean"];
  50. } else {
  51. if ($lang != "en") {
  52. $mean = PDO_FetchRow($query, array($word, "en"));
  53. if ($mean) {
  54. return $mean["mean"];
  55. } else {
  56. return "";
  57. }
  58. } else {
  59. return "";
  60. }
  61. }
  62. }
  63. }