Fehler im Script

frankys9

Mitglied
Hallo Leute, ich habe mir mit einweing Hilfe ein Script gebastelt und habe nun leider ein kleines Problem das ich irgendwie nicht gelöste bekomme :mad:

Script:
PHP:
$xdir = "templates/ap_old_map/img_specials";

$title = $this->_tpl_vars['title'];
$extension1 = ("jpg");
$extension2 = ("jpeg");

$title_exp=explode(" ",$title);

if ($handle = opendir($xdir)) {
    while (false !== ($file = readdir($handle))) {
    $temp = explode(".",$file);
    $endung = $temp[(count($temp)-1)];
    $name = $temp[0];
    $text = $this->_tpl_vars['text'];
    $xLenght = strlen($text);
    preg_match_all('/\<a .*\>|\<\/a\>/siU', $text, $match, PREG_SET_ORDER);
    $aLenght = 0;
    if ($endung == $extension1 or $endung == $extension2) {
        if ($file != "." && $file != "..") {
            foreach($title_exp as $ti) {
                if (in_array($ti, $temp))
                    foreach($match as $var){
                    $aLenght += strlen($var[0]);
                    echo "
                    <dl class='main_specials'>
                    <dd><img src='$xdir/$file\n' alt='' />
                    <h2>{$title}</h2>
                    <p>";
                    echo substr($text,0,300+$aLenght)."...<br />";
                    echo "</p></dd></dl>";
                    }
                } 
            }
        }
    }
    closedir($handle);
}

Soweit funktionier es ja nur wird die Anzeige wiederholt. Ich habe also statt einem Artikel zwei mal den gleichen?!

Könnt Ihr mir vielleicht sagen wo da der Fehler ist?

Vielen Dank!!
 
Welcher Teil genau wird denn mehrfach ausgegeben? Denn anhand dessen kann die Fehlersuche wunderbar eingegrenzt werden.
 
Hallo Gumbo,

leider alles :mad:, also alles was in der letzten if anweisung steht:

PHP:
if (in_array($ti, $temp))
                    foreach($match as $var){
                    $aLenght += strlen($var[0]);
                    echo "
                    <dl class='main_specials'>
                    <dd><img src='$xdir/$file\n' alt='' />
                    <h2>{$title}</h2>
                    <p>";
                    echo substr($text,0,300+$aLenght)."...<br />";
                    echo "</p></dd></dl>";
                    }

kann das vielleicht mit der foreach anweisung zusammenhängen
 
Zurück