WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   txt file mittels php verändern (http://www.wcm.at/forum/showthread.php?t=186722)

hannse 04.03.2006 10:32

txt file mittels php verändern
 
Tag liebe WCM-Gemeinde

hab folgendes leichtes PHP Problem (PHP is net wirkli meins).

folgende Ausgangssituation:

Auf einer Internetseite wird die Navigation die in einem txt-file ist, mittels php geladen. nun möchte ich das die aktuelle Seite in der Navigation hervorgehoben wird (mittels [b])

hab mir das so vorgestellt:

nav.txt:

Code:

<ul>[*]Thema 1[*]Thema 2[*]Thema 3
....[/list]

PHP-Code:

<?php
  $file 
"nav.txt";
  
$data fopen($file"r");
  
$liste fread($data,filesize($file));
  
$name basename($_SERVER['PHP_SELF']);
  
fclose($data);
  
$f "[*]<a href=\"{$name}";
  echo 
ereg_replace($f"[b][*]<a href=\"{$name}"$liste);
?>

problem natürlich: wie kann ich den strong-tag am ende der Zeile wieder schließen? bzw. wird es sicher eine elegantere Lösung geben.

wie immer großer Dank die sich meiner annehmen

hannse 04.03.2006 12:27

habs jetzt mit einem Ersetzen eines Kommentars gelöst

Code:

<ul>[*]Thema 1 [*]Thema 2  [*]Thema 3
....[/list]

PHP-Code:

<?php
$file 
"nav.txt";
$data fopen($file"r");
$liste fread($datafilesize($file));
$name basename($_SERVER['PHP_SELF']);
fclose($data);
$f "[*]<a href=\"{$name}";
$liste ereg_replace("""[/b]" ,$liste);
echo 
ereg_replace($f"[b][*]<a href=\"{$name}"$liste);

hmm, falls a schönere Lösung gibt, nur her damit

g
hannse

sunfire 15.03.2006 21:07

Wieso machst Du das nicht mit CSS??
Code:

a:active { font-weight:bold }
Ist doch viel einfacher ...
Oder hab’ ich das jetzt falsch verstanden?

flocky 28.03.2006 15:47

prinzipiell mit css möglich, allerdings nicht mit a:active weil das, so wie er es braucht nur vom IE interpretiert wird, was übrigens auch falsch is. per definition ist a:active der zustand des links nachdem er gewählt wurde, nur während die aktuelle seite noch vorhanden ist und die seite des links noch nicht geladen wurde.
einfacher wärs wenn du einen parameter übergibst, z.B. als link: $_SERVER['PHP_SELF']."?link1=selected";
und dann bei jedem link schreiben class=<?php echo $_GET['link1']; ?>
im stylesheet dann definieren:

.selected {
font-weight: bold;
}

hannse 28.03.2006 18:07

danke euch beiden. glaub flockys lösung schaut auch a bissi eleganter aus als die meinige.

g
hannse


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag