在IMDb建议自动完成中将图像集成到电影标题中

时间:2014-10-20 12:38:01

标签: javascript php jquery json imdb

我正在寻找一种方法,将我的jQuery自动完成文本框中的电影图像集成到他们的标题中,我发现IMDb Suggest非常有用。 它完美无缺,但我注意到的唯一问题是它会返回电影片名,电视剧,演员,导演等。而我只需要电影标题。

问题:

有没有办法让我的自动完成文本框中不包含与其图像集成的电影片段(不是电视剧,不是演员,......)? (我的意思是我要为演员,系列等禁用自动完成功能,所以如果用户在搜索框中键入" Tom .."它就不应该显示&#34 ; Tom Criuse" ..)

PS。如果不可能,当用户在自动完成文本框中键入电影名称时,如何显示电影的小图像?我已经抓取了电影的IMDb海报链接并将其保存在我的数据库中。 (我看到This similar question,但实际上,它没有使用存储在DB中的图像,这是我的情况)

UPDATE:

为了避免播放电视剧,我抓取了IMDb电影片名列表并将其保存在我的数据库中。我试图将用户输入的字符串与我的数据库中的标题进行比较,如果找不到匹配则表示它不是电影,它可能是g.g.,TV-series ..

以下是我在suggest.php中所做的更改:

if(isset($arr['d'])){
  foreach($arr['d'] as $d){
           try{
              include('imdbconnection.php');
              $stmt = $conn->prepare("SELECT movieName FROM featuredfilms_EN WHERE movieName = :term");
              $stmt->bindValue(':term', $d['l']);
              $stmt->execute();
              $result = $stmt->fetch(PDO::FETCH_OBJ);

             if (!empty($result)) {

            $img = preg_replace('/_V1_.*?.jpg/ms', "_V1._SY50.jpg", $d['i'][0]);

                if ((strpos($d['s'], "Actor,") === false) {
                       $s[] = array('label' => $d['l'], 'value' => $d['id'], 'cast' => $d['s'], 'img' => $img, 'q' => $d['q']);
                       }   
                 //REST OF THE CODE 

然而,它不起作用:|

1 个答案:

答案 0 :(得分:1)

设定条件(演员,电视剧,导演和作家)&过滤建议页面中的结果(第23行)

if (strpos($d['s'], "Actor,") === false) { // Here avoiding all actors
$s[] = array('label' => $d['l'], 'value' => $d['id'], 'cast' => $d['s'], 'img' => $img, 'q' => $d['q']);
}