[PHP] 2 Worte in einem String austauschen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von StonedClown, 14. Oktober 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 14. Oktober 2006
    2 Worte in einem String austauschen

    Ich habe den string "Franz Ferdinand rast im total verwahrlosten Taxi quer durch München".
    Der Name Franz soll durch Fritz ersetzt werden, und Taxi durch Tretroller.
    Also der endsatz soll "Fritz Ferdinand rast im total verwahrlosten Tretroller quer durch München".

    Wie mache ich das am besten?
    Ich hab schon so einiges mit substr_replace probiert, aber ich habe es nicht geschafft das ich damit mehr als 1 Wort im string ersetzen kann...

    Vielen Dank im vorraus für eure Hilfe =)
     
  2. 14. Oktober 2006
    AW: 2 Worte in einem String austauschen

    Willst du n bestimmtes Wort ersetzen?
    Dann explode den String erstmal.

    PHP:
    <? php
    $String 
    "Franz Ferdinand rast im total verwahrlosten Taxi quer durch München" ;
    $WortWasDuSuchst  'Taxi' ;
    $WortDasDuErsetzenWillst  'Tretroller' ;
    $A  explode ( ' ' , $String );

    ?>
    Und durchsuchst dann jedes Element des Arrays auf das was du ersetzen willst..
    PHP:
    <? php
    for( $i = 0 ; $i < count ( $A ); $i ++) {
     if(
    $A [ $i ] ==  $WortWasDuSuchst ) {
     
    $A [ $i ] =  $WortDasDuErsetzenWillst ;
     }
    }
    ?>
    Und danach implodest du das wieder... ^^

    PHP:
    <? php
    $Out 
    implode ( ' ' , $A );
    echo 
    $Out ;
    ?>
    EDIT:

    mir fällt grad ein:

    str_replace('Suche','Replace',$String);

    ?
    Was willst du mehr... oO
     
  3. 14. Oktober 2006
    AW: 2 Worte in einem String austauschen

    Das Prob is das ich mit substr_replace nur 1 Wort im String ändern kann...
    Aber wie schon oben erwähnt muss ich 2 Worte (Franz->Fritz & Taxi->Tretroller) austauschen, und wie der Satz dann aussehen soll hab ich eh geschrieben.

    Naja, mein bisheriger Code:
    Code:
    <?php
     $str = "Franz Ferdinand rast im total verwahrlosten Taxi quer durch München<br>\n";
     $meier = strlen($str);
     echo "$str <br />\n";
     echo "Aktuelle Zeichenanzahl: $meier <br />\n";
     echo "String wird ausgetauscht. Bitte warten. Please hold the line. String is going to be replaced<br />\n";
     substr_replace($str, "Fritz", 0, 5)
     substr_replace($str, "Tretroller ", 44, 10);
     echo $vasub;
    /* Weiter hab ich noch nicht geschrieben da ich derzeit ratlos bin. */
    ?>
     
  4. 14. Oktober 2006
    AW: 2 Worte in einem String austauschen

    ja..
    str_replace! Oo
    mach n Array mit den Wörtern die zu replacen sind
    und n Array mit den Wörten die die Replacer sind.

    str_replace($SucheArray,$ReplaceArray,$STring);
     
  5. 14. Oktober 2006
    AW: 2 Worte in einem String austauschen

    Vielen Dank für den Hinweis zu str_replace =D
    Hab sofort auf PHP.net die Erklärung zu str_replace gelesen und mich dann gleich an die Arbeit gemacht

    Code:
    <?php
     $str = "Franz Ferdinand rast im total verwahrlosten Taxi quer durch München<br>\n";
     $meier = strlen($str);
     echo "$str <br />\n";
     echo "Aktuelle Zeichenanzahl: $meier <br />\n";
     echo "String wird ausgetauscht. Bitte warten. Please hold the line. String is going to be replaced<br />\n";
     $replace_me = array("Franz", "Taxi");
     $replacers = array("Fritz", "Tretroller");
     $newstr = str_replace($replace_me, $replacers, $str);
     echo "$newstr <br />\n";
     echo "Aktuelle Zeichenanzahl: ".strlen($newstr)."";
    ?>
    Funktioniert wunderbar =D
    Danke nochmal
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.