kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Dropdown Menü mit Rechten/ MySql Daten

    geschrieben von wgames

    keine Ahnung wie Du Deine "Rechte" gespeichert hast, als String oder als Int

    aber vom Prinzip her doch ganz einfach so:

    if ( $navtop_rechte == 'admin') { 
      echo $navtop_admin; 
    }


    also den Menü-Teil, der nur für Admin zu sehen sein soll
    in eine eigene Variable ablegen ($navtop_admin)
    und diese nur ausgeben, wenn entsprechende Rechte vorhanden.

  • in: subid an href url mit preg_replace anfügen ?

    geschrieben von wgames

    vielen Dank, das ist Spitze !!!

    ich habe das jetzt aber noch in einen einzelnen Funktions-Aufruf zusammen geführt
    iden ich einfach die img Prüfung mit in die linkcallback() Funktion am Ende rein habe.

    // ---------------------------------------------------- 
    
    function linkcallback($match) { 
    	global $SUBID;
    	$url = str_replace('&', '&', $match[3]);
    	
    	if(strpos($url, 'mailto:') !== false)
    	return $match[0];
    	
    	$oldurl = $url;
    	$url = preg_replace('/([?&])subid=([^&]+)/i', "\\1subid=$SUBID", $url);
    	
    	if($oldurl == $url) { 
    	$url .= ((strpos($url, '?') === false) ? '?' : '&') . "subid=$SUBID";
    	}
    
    	$url = str_replace('&', '&', $url);
    
    // ---------------------- 
    	
    	if (preg_match('|<img (.+?)([/]?)>|i', $match[5], $imgmatch)) { 
    		$imgbody = trim($imgmatch[1]);
    		if(strpos($imgbody, ' alt=') === false) { $imgbody .= ' alt=""'; } 
    		$match[5] = "<img $imgbody />";
    	}
    	
    // ---------------------- 
    	
    	return "<a {$match[1]}href={$match[2]}$url{$match[2]}{$match[4]}>{$match[5]}</a>";
    }
    
    // ----------------------------------------------------


    so muss ich nicht 2 verschiedene Funktionen aufrufen .... :=)
    DANKE !!!
  • in: subid an href url mit preg_replace anfügen ?

    geschrieben von wgames

    Super, vielen Dank

    das funktioniert soweit schon ganz gut, jetzt habe ich aber noch das Problem,
    wenn in der URL schon eine &subid=yyyyy drin ist,
    dann wird mit dem Code oben nochmal &subid=xyz dazu angehängt

    zudem möchte ich das Ergebnis valide für XHTML 1.0 Transitional haben

    bisher habe ich
    + das mit den &amp; anstatt nur & in URL Parameter
    + und dem Close IMG Tag mit Slash am Ende />
    + und wenn fehlendes alt="" in IMG Tag einfügen
    - aber "falsche" subids werden nicht ersetzt ?

    habe ich jetzt so gemacht:

    <?php 
    // -------------------------------------------------------------- 
    
    header("Content-Type: text/html; charset=utf-8");
    
    // -------------------------------------------------------------- 
    
    $text = '
    <br /> Test1 <a href="test123.php?subid=zzz&aaa=bbb"><img src="bild123.jpg" alt="Info / Test" border="0"></a>
    <br /> Test2 <a href="test456.php?x=yyy&subid=xxxxx"><img src="bild456.jpg" /></a>
    <br /> Test3 <a href=\'test789.php\'><img src=\'bild789.jpg\' border=\'0\'></a>
    '; 
    
    
    $pattern = '/<a (.*)href=([\'"])(.+)\\2([^>]*)>(.*)<\/a>/iU';
    
    $SUBID = 'xyz';
    
    function match_callback($match) { 
    	global $SUBID;
    	
    ## 	print "<br /> DEBUG \$match \n"; 
    ## 	print "<pre style=\"background:#DEDEDE;\">".htmlentities(print_r($match,true))."</pre>\n"; 
    ## 	print "<br />\n"; 
    	
    	$url = $match[3]; 
    	
    	if(strpos($url, 'mailto:') !== false) { 
    		$out = $match[0]; 
    	}
    	else { 
    		
    		if (strpos($url,'subid=') === false) { 
    			$url .= ((strpos($url, '?') === false) ? '?' : '&amp;') . 'subid='.$SUBID.''; 
    		}
    		else { 
    			$url = preg_replace('/subid=(.+)([\'" &])/iU', 'subid='.$SUBID.'\\2', $url);
    		}
    		
    		if (!preg_match('/<img(.*)(\/)>/Ui', $match[5])) { 
    			$match[5] = str_replace('>','/>',$match[5]); 
    		}
    		
    		if (!preg_match('/alt=/Ui', $match[5])) { 
    			$match[5] = str_replace('/>',' alt="" />',$match[5]); 
    		}
    	
    		$out = "<a {$match[1]}href={$match[2]}$url{$match[2]}{$match[4]}>{$match[5]}</a>"; 
    
    		
    		$out = preg_replace('/ {2,}/', ' ', $out); 
    	
    		$out = str_replace('&','&amp;',$out); 
    		$out = str_replace('&amp;amp;','&amp;',$out); 
    		
    	}
    	
    	return $out; 
    	
    }
    
    
    // -------------------------------------------------------------- 
    
    
    $text_new = preg_replace_callback($pattern, 'match_callback', $text);
    
    // -------------------------------------------------------------- 
    
    
    print "<br />\n"; 
    print "<br /> Vorher: \n"; 
    print "<br />\n"; 
    print "<pre>".htmlentities(print_r($text,true))."</pre>\n"; 
    
    print "<br />\n"; 
    print "<br /> Nachher: \n"; 
    print "<br />\n"; 
    print "<pre>".htmlentities(print_r($text_new,true))."</pre>\n"; 
    
    
    print "<br />\n"; 
    print "<br />\n"; 
    print "<br />\n"; 
    
    
    // -------------------------------------------------------------- 
    ?>


    die Ausgabe ist

    Vorher:
    
    <br /> Test1 <a href="test123.php?subid=zzz&aaa=bbb"><img src="bild123.jpg" alt="Info / Test" border="0"></a>
    <br /> Test2 <a href="test456.php?x=yyy&subid=xxxxx"><img src="bild456.jpg" /></a>
    <br /> Test3 <a href='test789.php'><img src='bild789.jpg' border='0'></a>
    
    
    Nachher:
    
    <br /> Test1 <a href="test123.php?subid=zzz&amp;aaa=bbb"><img src="bild123.jpg" alt="Info / Test" border="0"/></a>
    <br /> Test2 <a href="test456.php?x=yyy&amp;subid=xxxxx"><img src="bild456.jpg" alt="" /></a>
    <br /> Test3 <a href='test789.php?subid=xyz'><img src='bild789.jpg' border='0' alt="" /></a>


    soweit ja ganz OK ... bis auf das nicht Ersetzen der "falschen" subids


    ich verstehe nicht warum das nicht funktioniert:
    // --------------------------- 
    		if (strpos($url,'subid=') === false) { 
    			$url .= ((strpos($url, '?') === false) ? '?' : '&amp;') . 'subid='.$SUBID.''; 
    		}
    		else { 
    			$url = preg_replace('/subid=(.+)([\'" &])/iU', 'subid='.$SUBID.'\\2', $url);
    		}
    // ---------------------------


    .... EDIT ....

    ?!? komisch, wenn ich das auf den kompletten HTML anwende, nicht auf die url, dann geht's ?!?

    $text_new = preg_replace_callback($pattern, 'match_callback', $text);
    
    $text_new = preg_replace('/subid=(.+)([\'" &])/iU', 'subid='.$SUBID.'\\2', $text_new);


    dann werden "falsche" subids zu meiner "xyz" ersetzt ... ?
    <br /> Test1 <a href="test123.php?subid=xyz&amp;aaa=bbb"><img src="bild123.jpg" alt="Info / Test" border="0"/></a>
    <br /> Test2 <a href="test456.php?x=yyy&amp;subid=xyz"><img src="bild456.jpg" alt="" /></a>
    <br /> Test3 <a href='test789.php?subid=xyz'><img src='bild789.jpg' border='0' alt="" /></a>


    hä? ... warum geht das an der Stelle aber nicht bei Anwendung auf $url ... ?


    ... EDIT 2 ...

    weil die $url nach dem Wert von subid= ggf. kein Zeichen mehr besitzt, das aber im Pattern verlant wird.

    so gehts dann doch:

    // --------------------------- 
    		if (strpos($url,'subid=') === false) { 
    			$url .= ((strpos($url, '?') === false) ? '?' : '&amp;') . 'subid='.$SUBID.''; 
    		}
    		else { 
    			$url .='"'; 
    			$url = preg_replace('/subid=(.+)([\'" &])/iU', 'subid='.$SUBID.'\\2', $url);
    			$url = rtrim($url,'"'); 
    		}
    // ---------------------------


    einfach ein Zeichen an $url dran hängen,
    dann preg_replace laufen lassen und
    dann das angehängte Zeichen dann wieder entfernen

    :) ... oOo ...
  • in: Liste mit deutschen Social-Bookmark Diensten

    geschrieben von wgames

    das kommt auf die XX vor EURO an .. also auf die Kosten

    Wenn man halbwegs flink mit Copy+Paste ist, kann man das selber sicher auch machen
    das Eintragen geht also relativ flott, schätze so ca. 2 bis 3 Minuten je Eintrag
    also BSP für je 2 Link-Einträge bei 50 Dienste = ca. 2-3 Stunden (inkl. je Login mit Captcha)

    allerdings muss man sich auch vorher bei den Social-Bookmark-Diensten anmelden
    und bei vielen auch noch Aktivierungs-Link in Anmelde-Email klicken
    da würde ich je DIenst ca. 2 bis 5 Minusten rechnen ... mindestens (inkl. Captcha)
    (je nachdem wie lange es dauert bis die Aktivierungs-Email an-kommt)
    also BSP für 50 Anmeldungen bei SB-Dienste = auch ca. 2-3 Stunden

    alles zusammen schätze ich den Aufwand für 50x Anmeldung + je 2 Links eintragen
    auf ca. 4 - 6 Stunden ... habs aber auch nicht ausprobiert

    ist dann halt die Frage, ob man die Zeit selber "arbeiten" will (kann)
    oder jemand Anderes dieses für Geld machen lassen

    Aber wenn es jemand Anderes macht, weiss man nicht ob und wie "gut" es gemacht wird
    selber machen hat man halt mehr "Kontrolle" über das, was letztlich eingetragen wird.

  • in: subid an href url mit preg_replace anfügen ?

    geschrieben von wgames

    Hallo

    ich möchte in einem HTML-Code (String)
    an alle Links (href=) eine SubId hinten an den Link anffügen.

    leider bekomme ich es nicht hin mit preg_replace()

    bisher versucht habe ich:
    preg_replace('/href=["|\'](.*)["|\']/i', '{$1}&subid=xyz', $img_htm);


    also ich will an die URL innerhalb href einen Parameter &subid=xyz anfügen
    das funktioniert aber so nicht

    Beispiel ...

    aus einem String wie:
    <br /> Tipp: <a href="ziel1.php" target="_blank">Empfehlung1</a> 
    <br /> Tipp: <a href="ziel2.php?info=bla" target="_blank">Empfehlung2</a> 
    <br /> Tipp: <a href='ziel3.php' target='_blank'>Empfehlung3</a>


    soll sowas werden:
    <br /> Tipp: <a href="ziel1.php?subid=xyz" target="_blank">Empfehlung1</a> 
    <br /> Tipp: <a href="ziel2.php?info=bla&subid=xyz" target="_blank">Empfehlung2</a> 
    <br /> Tipp: <a href='ziel3.php?subid=xyz' target='_blank'>Empfehlung3</a>


    Problem ist auch, wenn der Link noch keine Parameter wie ?info=bla hat,
    dann muss ich den SubID Parameter ja mit ? anhängen, also so ?subid=xyz
    ansonsten mit &subid=xyz also einen URL-GET-Patameter hinzufügen

    ausserdem soll es für Links funktionieren die mit href="..." oder href='...' geschrieben sind
    also egal ob einfaches oder doppeltes Anführungszeichen (oder auch gar keins?)

    jemand ne Idee, wie ich das angehen soll ?!

Login zum Webhosting ohne Werbung!