Camacho: str_replace: keine Änderung

Hallo!

Kann mir jemand sagen, warum die zweite Ausgabe von $text nicht geändert ist?

$text="tralala # tralala % und so weiter!!<br>";

echo "1. " . $text;
function replacing ($text){
$replacements = array ('#' => 'No.','%' => 'Percent');
$from = array_keys ($replacements);
$after = array_values ($replacements);
return str_replace ($from, $after, $text);
}
echo "2. " . $text;

Grüsse

Nicola

  1. Hi,

    Kann mir jemand sagen, warum die zweite Ausgabe von $text nicht geändert ist?

    weil Du Deine replacing-Funktion nicht aufrufst.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. hi!

    Kann mir jemand sagen, warum die zweite Ausgabe von $text nicht geändert ist?

    weil du die funktion nicht aufrufst.

    <? echo replacing($text); ?>

    gruß, lindicz

    1. Hi!

      Ich habe wohl ein bisschen zu schnell reagiert bei meiner Meldung... Es klappt immer noch nicht. Was mache ich jetzt falsch???????

      $text="tralala # tralala % und so weiter!!<br>";
      echo "1. " . $text;
      function replacing ($text){
      $replacements = array ('#' => 'No.','%' => 'Percent');
      $from = array_keys ($replacements);
      $after = array_values ($replacements);
      return str_replace ($from, $after, $text);
      }
      echo replacing($text);

      Danke!

      1. Moin Moin !

        Aus http://www.php.net/manual/de/function.array-keys.php:

        (PHP 4 )

        array_keys -- Liefert alle Schlüssel eines Arrays

        Beschreibung

        array array_keys ( array input [, mixed search_value])

        array_keys() gibt die Schlüssel (numerisch und String) des Arrays input zurück.

        Ist der optionale Parameter search_value angegeben, werden nur die Schlüssel für diesen Wert zurückgegeben. Andernfalls werden all Schlüssel von input zurückgegeben.

        Aus http://www.php.net/manual/de/function.str-replace.php:

        str_replace -- Ersetzt alle Vorkommen eines Strings in einem anderen String

        Beschreibung:

        string str_replace ( string needle, string str, string haystack)

        Diese Funktion ersetzt alle Vorkommen von needle innerhalb der Zeichenkette haystack durch den String str . Falls Sie keine ausgefallenen String-Ersetzungen brauchen, sollten Sie immer dieser Funktion den Vorzug vor ereg_replace() geben.

        Was übergibst Du als Argumente an str_replace?

        ^--- Dies ist eine rhetorische Frage und die richtige Antwort wird mit dem Weg zur Problemlösung belohnt.

        Alexander

        --
        Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
        1. Hallo Alexander,

          ^--- Dies ist eine rhetorische Frage und die richtige Antwort wird mit dem Weg zur Problemlösung belohnt.

          Falsch. Du darfst str_replace, ereg_replace und preg_replace auch Arrays übergeben. Du darfst das sogar mischen:

          $text = 'abcd';

          $a = str_replace (array ('a', 'b', 'c'), 'd', $text);

          echo $text;

          => dddd

          Das mit array_keys und array_values hat Camacho von mir: </archiv/2003/3/39817/> (Ich habe das aber auch irgendwo abgekuckt, kann mich bloß nicht mehr erinnern, wo)

          Viele Grüße,
          Christian

          --
          Hast Du einen Beitrag? Nur her damit!
          http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
          SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
          sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
          1. Hi!

            Das mit array_keys und array_values hat Camacho von mir: </archiv/2003/3/39817/> (Ich habe das aber auch irgendwo abgekuckt, kann mich bloß nicht mehr erinnern, wo)

            Stimmt. Und ich dachte ich hatte alles verstanden. Der allgemeine Script (das ist jetzt nur ein Teil, den ich gezielt geprüft habe, weil an der Stelle eine Klammer (schon wieder!) erwartet wurde) hat auch 3 Wochen wunderbar funktioniert um dann eben zusammen zu brechen. Alle schwöre, daß Sie nichts gemacht haben...
            Auf jeden Fall, kannst Du mir sagen, wie ich ein echo gestalte, damit ich sehen kann, ob die function funktioniert hat?

            Schöne Grüsse

            Nicola

            1. Hallo Camacho,

              Auf jeden Fall, kannst Du mir sagen, wie ich ein echo gestalte, damit ich sehen kann, ob die function funktioniert hat?

              Wie meinst Du das? Wenn ich sehen will, was an einer bestimmten Stelle in einer Variable ist, dann nehme ich var_dump:

              echo '<pre>'; var_dump ($var); echo '</pre>';

              Dann sehe ich, was diese Variable an dieser Stelle für einen Inhalt hat. Oder meinst Du etwas anderes?

              Viele Grüße,
              Christian

              --
              Hast Du einen Beitrag? Nur her damit!
              http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
              SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
              sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
              1. Hallo Christian,

                Dann sehe ich, was diese Variable an dieser Stelle für einen Inhalt hat. Oder meinst Du etwas anderes?

                Naja, das Problem, das ich gerade habe ist, dass ich nicht überprüfen kann, ob dieser Script funktioniert oder nicht... Und nicht sehe, warum (ich's nicht sehen kann, oder: warum es nicht funktioniert).

                Cheers

                Nicola

                1. Hallo Camacho,

                  Naja, das Problem, das ich gerade habe ist, dass ich nicht überprüfen kann, ob dieser Script funktioniert oder nicht...

                  Inwiefern? Kannst Du es nicht ausprobieren?

                  Viele Grüße,
                  Christian

                  --
                  Hast Du einen Beitrag? Nur her damit!
                  http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
                  SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
                  sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
  3. weil du die funktion nicht aufrufst.
    <? echo replacing($text); ?>
    gruß, lindicz

    weil Du Deine replacing-Funktion nicht aufrufst.
    Cheatah

    Vielen Dank!
    Gibt es irgendwo ein Loch wo ich mich verkriechen kann?

    Nicola

    1. Moin Moin !

      Gibt es irgendwo ein Loch wo ich mich verkriechen kann?

      Nee, IIS läuft hier nicht. ;-)

      Alexander

      --
      Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"