Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit if ($string)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit if ($string)

    Hallo zusammen.

    Ich habe um aktive Links zu markieren folgende Funktion gebastelt.


    Code:
    function link_status($site) {
        if ($_GET['ziel'] == $site) {
            $linkstatus = "menue-a";
        } else {
            $linkstatus = "menue-n";
        }
        return $linkstatus;
    }
    Angesteuert wir die Funktion so


    Code:
    echo ':: Sponsoren';[/sode]
    
    Jetzt hab ich aber auch ein paar Links, die bei verschiedenen Seiten aktiv sein sollen. Dazu habe ich diese Funktion dann erweitert und sieht jetzt so aus.
    
    
    [sode]function link_status2($site) {
        $siteexp = explode(' ', $site);
        $sitetarget = array();
        foreach ($siteexp as $target) {
            $sitetarget[] = '"'.$_GET['ziel'].'" == "'.$target.'"';
        }
        $if = implode(" or ", $sitetarget);
        if ($if) {
            $linkstatus = "menue-a";
        } else {
            $linkstatus = "menue-n";
        }
        return $linkstatus;
    }
    Angesteuert wir die Funktion so


    Code:
    echo ':: News';
    $if wird richtig zusammengesetzt, dass habe ich überprüft, indem ich mir $if habe zurückgeben lassen und ich mir den String angesehen habe.
    Das Problem besteht eher darin, das die if-Abfrage nur überprüft, ob der String $if einen Inhalt hat. Ich möchte aber den Inhalt des Strings in die if-Abfrage einsetzen.

    Kann mir damit jemand helfen?[/code]


  • #2
    Ich habe das Problem bereits lösen können.

    Code:
    function link_status($site) {
    	$siteexp = explode(' ', $site);
    	$sitetarget = array();
    	foreach ($siteexp as $target) {
    		$sitetarget[] = "(^".$target."$)";
    	}
    	$if = implode("|", $sitetarget);
    	if (preg_match('/'.$if.'/', $_GET['ziel'])) {
    	    $linkstatus = "menue-a";
    	} else {
        	$linkstatus = "menue-n";
    	}
    	return $linkstatus;
    }

    Kommentar

    Lädt...
    X