.php entfernen
    
Nirgendwer
    
    
      
    
  - php
 nicht angemeldet
 nicht angemeldetMoin,
in einer Variable echo $UserSeite[2]; steht z.B. impressum.php ist nicht das was ich benötige. Ist es möglich dass ich alles was NACH dem . kommt entferne bzw. kann ich irgendwie anderes auf den Wert kommen?
Ich mach es so $UserSeite = explode("/", $_SERVER['REQUEST_URI']);
hi Nirgendwer,
Moin,
in einer Variable
echo $UserSeite[2];steht z.B. impressum.php ist nicht das was ich benötige. Ist es möglich dass ich alles was NACH dem . kommt entferne bzw. kann ich irgendwie anderes auf den Wert kommen?Ich mach es so
$UserSeite = explode("/", $_SERVER['REQUEST_URI']);
mfg
tami
Hi Tami,
Und hier würde ich dieses dann so umsetzten?
  
$a1 = $UserSeite[2];  
$b1 = array(".html");  
$b2 = "";  
echo $a1new = str_replace($b1, $b2, $a1);  
Hi Tami,
Und hier würde ich dieses dann so umsetzten?
$a1 = $UserSeite[2];
$b1 = array(".html");
$b2 = "";
echo $a1new = str_replace($b1, $b2, $a1);
  
So einfach ist das alles nicht. Ich weiß ja nicht, was Du willst, aber auch nur halbwegs vollständig sähe das so aus:  
  
~~~php
<?php  
  
$tests[]='?foo=foo.bar/baz';  
$tests[]='/';  
$tests[]='/?foo=foo.bar/baz';  
  
$tests[]='/test';  
$tests[]='/test?foo=foo.bar/baz';  
  
$tests[]='/test/';  
$tests[]='/test/?foo=foo.bar/baz';  
  
$tests[]='/test.php';  
$tests[]='/test.php?foo=foo.bar/baz';  
  
$tests[]='/foo/test.php';  
$tests[]='/foo/test.php?foo=foo.bar/baz';  
  
$tests[]='/foo/bar/test.php';  
$tests[]='/foo/bar/test.php?foo=foo.bar/baz';  
  
# diese beiden Verzeichnisse (/tmp/verz, (/tmp/verz.php) mit anlegen:  
  
$t=`mkdir /tmp/verz`;  
$t=`mkdir /tmp/verz.php`;  
  
$tests[]='/tmp/verz';  
$tests[]='/tmp/verz?foo=foo.bar/baz';  
  
$tests[]='/tmp/verz.php';  
$tests[]='/tmp/verz.php?foo=foo.bar/baz';  
  
  
foreach ($tests as $s) {  
      print PHP_EOL;  
      print "-----------------------------------";  
      print PHP_EOL;  
      print "Teste: '$s'";  
      print PHP_EOL;  
      print "-----------------------------------";  
      print PHP_EOL;	  
      # sonst fast Du auch ?foo=bar&bar=fuss mit dran:  
      $a=explode("?", $s, 2);  
      print_r($a);  
  
  
      # Dann am '/' trennen und das letzte Element holen:  
      $a=explode("/", $a[0]);  
      $s=$a[count($a)-1];  
      print ("Nach Abtrennen: '$s'");  
  
      # wenn es kein Verzeichnis ist;  
      if (! is_dir($_SERVER["DOCUMENT_ROOT"].$s)) {  
	  # Dann Wenn ein punkt drin ist ... dann am '.' trennen und das letzte Element wegwerfen:  
	  if ( -1 < strpos($s, '.') ) {  
	      $a=array_reverse(explode(".", $s));  
	      $dummy=array_shift($a);  
	      $s=implode('.', array_reverse($a));  
	      print PHP_EOL;  
	      print ("Nach Explode, Shift und Implode: '$s'");  
	  }  
      }  else {  
          $s='index';  
      }  
  
  
      # Nachbetrachtung: 1. $s kann leer sein (Slash am Ende...)  
      if (! $s) { $s='index'; }  
      # Nachbetrachtung: 1. $s kann Verzeichnis sein (Slash am Ende nicht übertragen)  
      if (is_dir($_SERVER["DOCUMENT_ROOT"].$s)) { $s='index'; }  
      print PHP_EOL;  
      print "=================================";  
      print PHP_EOL;  
      print ("Ende: '$s'");  
      print PHP_EOL;  
      print "=================================";  
      print PHP_EOL;  
}     
hi Nirgendwer,
Moin,
in einer Variable
echo $UserSeite[2];steht z.B. impressum.php ist nicht das was ich benötige. Ist es möglich dass ich alles was NACH dem . kommt entferne bzw. kann ich irgendwie anderes auf den Wert kommen?Ich mach es so
$UserSeite = explode("/", $_SERVER['REQUEST_URI']);
nimm doch basename
mfg
tami
Tach!
in einer Variable
echo $UserSeite[2];steht z.B. impressum.php ist nicht das was ich benötige. Ist es möglich dass ich alles was NACH dem . kommt entferne bzw. kann ich irgendwie anderes auf den Wert kommen?
PHP hat da ein paar spezialisierte Funktionen. In deinem Fall kann pathinfo() einen Pfad in Einzelteile zerlegen. Mit var_dump(pathinfo(...)) kannst du dir ansehen, was du alles bekommen kannst. (Vorher ein <pre> erhöht die Übersichtlichkeit.)
dedlfix.