Jörg Reinholz: .php entfernen

Beitrag lesen

Hi Tami,

str_replace

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;  
}