function.php 1.5 KB

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