Ankündigung

Einklappen
Keine Ankündigung bisher.

str_replace

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • str_replace

    Hallo!
    ich seh bald den wald vor lauter bäumen nicht mehr:

    ich habe mir für ein kleines script ne funktion gebaut, die alle ä,ö,ü,ß ersetzen soll. nun wende ich die funktion an:

    die funktion:
    PHP-Code:
    function replace($var1)
        {
            
    $var1  =   str_replace("ä","ae",$var1);
            
    $var1  =   str_replace("ö","oe",$var1);
            
    $var1  =   str_replace("ü","ue",$var1);
            
    $var1  =   str_replace("ß","ss",$var1);
         return 
    $var1;
        } 
    beim ff bsp funktionert die funktion (alle codeschnippsel sind in ein und dem selben script):
    PHP-Code:
    $text replace($info['text']);
    echo 
    $text."
    "

    und direkt darunter wird die funktion wieder angewendet. jedoch funktioniert jetzt nicht mehr und ersetzt die o.g. fälle nicht mehr:
    PHP-Code:
    while($reply mysql_fetch_array($sql))
    {
    $text_reply replace($reply['text']);
    echo 
    $text_reply."
    "
    ;

    Weiß jmd warum? ich raff das echt net

  • #2
    Also als erstes würde ich es so machen (bzw. ich mache es so):
    PHP-Code:
    <?php
    function replace($var1
        { 
            
    $var1  =   str_replace("ä","&auml;",$var1); 
            
    $var1  =   str_replace("ö","&ouml;",$var1); 
            
    $var1  =   str_replace("ü","&uuml",$var1); 
            
    $var1  =   str_replace("ß","&szling;",$var1); //bin mir da net so sicher ob richtig
        
    return $var1
        }
    ?>
    Und ich würde die Funktion vor dem Schpeichern in der Datenbank anwenden.
    Weisst nicht warum, aber manchmal zerstört MySql die Umlaute

    Kommentar


    • #3
      ja ne alles schön und gut aber ich will ja ue und so haben weil das alles per RSS in ne XML kommt und die bekanntlich da rummeckern deswegen will ich die & grade weghaben. und nachträglich ändern is nicht weil RSS halt.

      Kommentar


      • #4
        also das hier funktioniert bei mir:
        PHP-Code:
        <?php

            
        # Funktion
            
        function replace$txt )
            {
                
        $txt  =   str_replace("ä","ae",$txt);
                
        $txt  =   str_replace("ö","oe",$txt);
                
        $txt  =   str_replace("ü","ue",$txt);
                
        $txt  =   str_replace("ß","ss",$txt);
                
                return 
        $txt;
            }
            
            
        $_test = array("brötchen",
                           
        "troß",
                           
        "mütterchen",
                           
        "bäcker");
                           
            
        $string null;
            
            foreach ( 
        $_test as $key => $value )
            {
                
        $string .= replace($value);
                
        $string .= "
        "
        ;
            }
            
            echo 
        $string;
            
        ?>
        ändere vielleicht mal mysql_fetch_array() in mysql_fetch_assoc()

        wer weiß ..

        Kommentar


        • #5
          ja das funktioniert bei mir auch, aber angwendet auf mein scirpt wiederum, will es nicht klappen. ich blicks echt net. bei dem $reply array macht er mucken

          Kommentar


          • #6
            lass dir mal das array $reply ausgeben ...

            Kommentar


            • #7
              steht nichts drin laut print_r
              aber wenn ich normal per $reply[text] usw auslesen steht wieder was drin. man man man

              Kommentar


              • #8
                wie da steht nichts drin?

                PHP-Code:
                $txt null;

                while ( 
                $Reply mysql_fetch_object($res) )
                {
                     
                $txt .= replace($Reply->spaltenname);

                ha. da fällt mir was auf.
                heißt eine spalte bei dir etwas "text"?

                das geht nicht ... da ein reserviertes wort.
                nur so ne idee...

                Kommentar


                • #9
                  ich habs

                  ganz anders
                  lag daran wie es mal in die DB geschrieben wurde: kann es nicht nachträglich ändern weil soll halt rss werden mal.
                  das ist die lsg.:
                  PHP-Code:
                  <?php
                  function replace($var1)
                      {
                          
                  $var1  =   str_replace("&auml;","ae",$var1);
                          
                  $var1  =   str_replace("&ouml;","oe",$var1);
                          
                  $var1  =   str_replace("&uuml;","ue",$var1);
                          
                  $var1  =   str_replace("&szlig;","ss",$var1);
                          
                  $var1  =   str_replace("ä","ae",$var1);
                          
                  $var1  =   str_replace("ö","oe",$var1);
                          
                  $var1  =   str_replace("ü","ue",$var1);
                          
                  $var1  =   str_replace("ß","ss",$var1);
                      
                       return 
                  $var1;
                      }
                  ?>

                  Kommentar


                  • #10
                    die tabellenspalte heißt aber doch trotzdem "text", oder nicht??

                    Kommentar


                    • #11
                      Zitat von Ben
                      die tabellenspalte heißt aber doch trotzdem "text", oder nicht??
                      ja

                      Kommentar

                      Lädt...
                      X