johannes: strings bei "." trennen

hallo.
Ist es möglich, mit php einen String bei einem Punkt in 2 Teile zu teilen? Konkret schaut es so aus:
ich bekomme per
$seitenname=basename($_SERVER['PHP_SELF']);
zum beispiel $seitenname=home.php  .
Jetzt will ich aus dem string "home.php" den string  "home" machen...

wie geht das?

g johannes

  1. Lieber johannes,

    ich mache das so:

    $seitenname = preg_replace('~^([^.]+)\..*$~', '\\1', $_SERVER['PHP_SELF']);

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Lieber johannes,

      ich mache das so:

      $seitenname = preg_replace('~^([^.]+)\..*$~', '\\1', $_SERVER['PHP_SELF']);

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

      wow..
      ok... im gegensatz zu $seitenname=basename($_SERVER['PHP_SELF'])

      kommt bei
      $seitenname = preg_replace('~^([^.]+)..*$~', '\1', $_SERVER['PHP_SELF']);
      nicht nur der seitenname, sondern auch der pfad mit in die variable...
      was tun, um nur den namen, ohne pfad, ohne .php-endung zu bekommen?

      g johannes

    2. Hallo Felix,

      $seitenname = preg_replace('~^([^.]+)\..*$~', '\\1', $_SERVER['PHP_SELF']);

      unkommentiert ist das meiner Meinung nach herzlich wenig hilfreich.
      Außerdem wird bereits seit Jahren $1 als Schreibweise für die Referenzen
      empfohlen, siehe Handbuch.

      Freundliche Grüße

      Vinzenz

  2. Ist es möglich, mit php einen String bei einem Punkt in 2 Teile zu teilen?

    Jetzt will ich aus dem string "home.php" den string  "home" machen...

    wie geht das?

    Indem Du mal in die PHP-Anleitung schaust.

    1. strpos und substr sind dafür nicht geeignet.

      1. strpos und substr sind dafür nicht geeignet.

        Du möchtest allen Ernstes behaupten, man könne nicht per strpos() das gewünschte Pünktlein finden und anschließen mit substr() den Teil bis zu dieser Position ausschneiden? Generationen von Programmierern sind mit Blindheit geschlagen auf einem Irrweg gewandelt ...

  3. Jetzt will ich aus dem string "home.php" den string  "home" machen...

    $seite = 'home.php';

    $geteilt = explode(".", $seite);

    Jetzt hast du den String beim "." getrennt und in dem Array $geteilt.

    $geteilt[0] ist dann also "home"
    $geteilt[1] ist dann dementsprechend "php"

  4. echo $begrüßung;

    Ist es möglich, mit php einen String bei einem Punkt in 2 Teile zu teilen? Konkret schaut es so aus:
    $seitenname=basename($_SERVER['PHP_SELF']);
    zum beispiel $seitenname=home.php  .
    Jetzt will ich aus dem string "home.php" den string  "home" machen...

    Du möchtest also im Speziellen einen Dateinamen auseinandernehmen. Neben den schon erwähnten Stringfunktionen, bietet PHP Funktionen dafür eigene Funktionen. basename() hast du schon gefunden. Du hast aber nicht beachtet, dass es einen zweiten Parameter entgegennehmen kann, mit dem man die Endung entfernen kann. Außerdem gibt es noch pathinfo().

    echo "$verabschiedung $name";