ChrisB: Regexp, mod_rewrite und $_SERVER["REQUEST_URI"], Sinn und Unsinn

Beitrag lesen

Hi,

Nur, jetzt muss ich alle regexp, die dafür sorgen, das die Aktuelle Seite sich nicht selbst verlinkt ändern [...], meine frage, kann ich da was falsch machen?

Ja - bspw. mit Regexp arbeiten.

$nav = '<li><a href="/hauptverzeichnis/datei">Link1</a></li>';

$pattern = '#<a href="'.$_SERVER["REQUEST_URI"].'">(.+?)</a>#';
echo preg_replace($pattern,'<em>$1</em>',$nav);

  
Wozu der replace-Kaese?  
  
Abgesehen davon, dass eine Seite i.a.R. nicht auf sich selbst verlinken sollte, du also eher <a> entfernen als <em> hinzufuegen solltest - wozu denn hier erst mal was definieren, um es dann mit regulaeren Ausdruecken wieder zu ersetzen?  
  
Warum nicht einfach so:  
  
if($aktuelleSeite == xyz) {  
  // Ausgabe des reinen Textes fuer den Navigationspunkt xyz  
}  
else {  
  // Ausgabe des Links, der die Seite verlinkt, mit Linktext xyz  
}  
  
  
Und da das wohl fuer mehr als einen Link passieren soll, bietet sich eine Schleife ueber alle in der Navigation verwendeten Links an - bspw. also eine Schleife ueber ein Array, das alle Linkziele und -texte enthaelt.  
  
MfG ChrisB