счетчик при выводе массива ссылок

Статус
В этой теме нельзя размещать новые ответы.

indigobull

Создатель
Регистрация
26 Июл 2009
Сообщения
33
Реакции
14
генерация массива происходит тут:
PHP:
   for ($m=0; $m < count($menu); $m++) {
      $keys=array_keys($menu[$m]);
      for ($div=0; $div < count($keys); $div++) {
         for ($i=0; $i < count($menu[$m][$keys[$div]]); $i++)
         $menu[$m][$keys[$div]][$i]=build_link($menu[$m][$keys[$div]][$i]);
         $menu[$m][$keys[$div]]=implode("\n",$menu[$m][$keys[$div]]);
         $menu[$m][$keys[$div]]=
         (($m==0) ? "\n<div class=\"topmenu\">\n": "\n\n").
         ((strlen($keys[$div]) > 3 and $m > 0) ? "<br>".$keys[$div]."\n": "").
         ((strlen($menu[$m][$keys[$div]]) > 10) ? $menu[$m][$keys[$div]]: "")."\n\n";
      }
      $menu[$m]=implode("",array_values($menu[$m]));
      $menu[$m]=(stristr($menu[$m],"<a href=")) ? preg_replace("/[ +]/is"," ",$menu[$m]): "";
   }
а формирование ссылки:
PHP:
function build_link($arr) {
   global $turl;
   $a=aray($arr)
   $i=0; $i < count($a[0]); $i++;
   if (!is_array($arr) or count($arr)!=3) return "";
   list ($lnk,$ttl,$alt)=$arr;
   $tmp=explode(" ",$lnk);
   $lnk=array_shift($tmp);
   $lnk=str_replace(array("'","\""),"",$lnk);
   $tmp=implode(" ",$tmp);
   return (stristr($lnk,"http://") or stristr($lnk,"https://") or stristr($lnk,"mailto:")) ?
      "<div><a href=\"$lnk\" title=\"$ttl\" target=\"_blank\" $tmp>$alt </a></div>":
      "<div><a href=\"$turl/$lnk\" title=\"$ttl\" $tmp>$alt </a></div>";
}
хочется получить на выходе ссылку, у которой в теге <div> стоял id, соответствующий порядковому номеру этой ссылки, то есть:
PHP:
<div id=1><a href=траляля title=траляля target=_blank>траляля</a></div>
<div id=2><a href=траляля title=траляля target=_blank>траляля</a></div>
...
как правильно написать такой счетчик и куда его вставить?
 
PHP:
function build_link($arr, $counter) { 
   global $turl; 
   $a=aray($arr) 
   $i=0; $i < count($a[0]); $i++; 
   if (!is_array($arr) or count($arr)!=3) return ""; 
   list ($lnk,$ttl,$alt)=$arr; 
   $tmp=explode(" ",$lnk); 
   $lnk=array_shift($tmp); 
   $lnk=str_replace(array("'","\""),"",$lnk); 
   $tmp=implode(" ",$tmp); 
   return (stristr($lnk,"http://") or stristr($lnk,"https://") or stristr($lnk,"mailto:")) ? 
      "<div id='$counter'><a href=\"$lnk\" title=\"$ttl\" target=\"_blank\" $tmp>$alt </a></div>": 
      "<div id='$counter'><a href=\"$turl/$lnk\" title=\"$ttl\" $tmp>$alt </a></div>"; 
}  

for ($m=0; $m < count($menu); $m++) { 
      $keys=array_keys($menu[$m]); 
      for ($div=0; $div < count($keys); $div++) { 
         for ($i=0; $i < count($menu[$m][$keys[$div]]); $i++)
			$menu[$m][$keys[$div]][$i]=build_link($menu[$m][$keys[$div]][$i], $i+$div); 
         $menu[$m][$keys[$div]]=implode("\n",$menu[$m][$keys[$div]]); 
         $menu[$m][$keys[$div]]= 
         (($m==0) ? "\n<div class=\"topmenu\">\n": "\n\n"). 
         ((strlen($keys[$div]) > 3 and $m > 0) ? "<br>".$keys[$div]."\n": ""). 
         ((strlen($menu[$m][$keys[$div]]) > 10) ? $menu[$m][$keys[$div]]: "")."\n\n"; 
      } 
      $menu[$m]=implode("",array_values($menu[$m])); 
      $menu[$m]=(stristr($menu[$m],"<a href=")) ? preg_replace("/[ +]/is"," ",$menu[$m]): ""; 
   }
:)
 
Notice: Undefined variable: counter in Z:\home\localhost\www\nano.desport.net.ru\index.php on line 73


73 строка - это:
PHP:
     "<div id='$counter'><a href=\"$turl/$lnk\" title=\"$ttl\" $tmp>$alt </a></div>";
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху