如何从自动完成数据中删除空白数组


How to remove blank array from autocomplete data?

我试图从自动完成数据中删除空白数组。我的意思是如何删除或删除空白数组从自动完成输出列表?

   $(function() {
var available_tags=[  <?php 
foreach(glob('../image/imagefiles/*.*') as $key=>$filename){
      if($key==0)
          {echo "'".$filename."'";}
          else
          {echo ",'".$filename."'";}
     }
   ?> ];
    $( "#tags" ).autocomplete({
             minLength: 0,
             source: available_tags,
                     });
             });

<div class="ui-widget">
      <input id="tags" size="50">
    </div>

输出:
.
..
image1
image2

需求输出:
image1
image2

要删除从调用glob()得到的清单中的两个引用...(这些条目不是空白,而是对当前目录和父目录的引用),您可以在迭代结果时忽略它们:

<?php
$elements = array();
foreach(glob('../image/imagefiles/*.*') as $key=>$filename) {
    if(!in_array($filename, array('.', '..'))) {
        $elements[] = "'".$filename."'";
    }
}
echo implode(',', $elements);

您可能还想在那里添加一些html标记和htmlescape()文件名,但是这个代码片段应该有助于指出如何跳过条目…