Anführungszeichen ersetzen

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

  • Anführungszeichen ersetzen

    Ich habe einen Text, bei dem ich alle "normalen" Anführungszeichen durch französische ersetzen will.

    vorher: "Ich freue mich sehr!", sagte David

    nachher: »Ich freue mich sehr!«, sagte David

    Leider habe ich keine Ahnung, wie ich das machen soll... Ich wäre für jede Hilfe dankbar.

  • #2
    schau Dir mal str_replace() an
    Mit freundlichen Grüßen
    Werner

    Kommentar


    • #3
      da gibt es aber das Problem, daß ich nur ein Zeichen habe ("), das aber durch verschiedene Zeichen ('»' und '«') ersetzt werden soll...

      Kommentar


      • #4
        Dann verwende halt reguläre Ausdrücke. Ungefähr so (nicht getestet, muss eventuell noch etwas angepasst werden):
        PHP-Code:
        <?php
        $pattern 
        '/&quot;(.*)&quot;/U';
        $replace '&raquo;\\1&laquo';

        $string preg_replace($pattern$replace$string);
        echo 
        $string;
        ?>
        Wenn du den reinen Text ohne HTML-maskierte Zeichen hast, kannst du ja die Entities ersetzen.

        Kommentar


        • #5
          Danke! Hat gleich beim ersten mal funtioniert.

          Kommentar


          • #6
            Original geschrieben von webstar85
            PHP-Code:
            <?php
            $pattern 
            '/&quot;(.*)&quot;/U';
            $replace '&raquo;\\1&laquo';

            $string preg_replace($pattern$replace$string);
            echo 
            $string;
            ?>
            Was mache ich, wenn ich nur die Anführungszeichen ersetzen möchte, die außerhalb der HTML-Tags stehen? Das jetzige Script (meine Texte beinhalten statt &amp;quot; das Zollzeichen ") ersetzt ja leider auch alle Anführungszeichen in den HTML-Tags, z.B. <div style="...">.

            Danke,
            paul
            Zuletzt geändert von paul23; 07.10.2005, 16:32.

            Kommentar


            • #7
              dann sorgst du in dem pattern dafür, dass anführungszeichen zwischen < und > ausgeschlossen werden. Siehe auch unser Tutorial zu dem Thema.

              Kommentar


              • #8
                Du meinst dieses Tutorial? Da finde ich nicht, was ich suche. Und wie ich die von dir beschriebene Lösung in PHP umsetze, weiß ich nun leider auch nicht.

                paul

                Kommentar


                • #9
                  nur von der logik her.

                  du ersetzt alle " wenn sie vor und dann nach einem string stehen.

                  nun darfst du nur die ersetzten die nicht zusätzlich zwischen < > stehen.

                  wie man den ausschluss aber in einer regex macht kann cih dir aber noch nicht so genau sagen, dafür hab ich mich noch zu wenig damit beschäftigt

                  peter

                  Kommentar


                  • #10
                    Ja, genau so hatte ich mir das auch schon gedacht. Nur an der konkreten Umsetzung weiß ich nicht weiter.

                    PHP-Code:
                    <?php
                    $pattern 
                    '/\>&amp;quot;(.*)&amp;quot;\</U';
                    $replace '&amp;raquo;\1&amp;laquo';

                    $string preg_replace($pattern$replace$string);
                    echo 
                    $string;
                    ?>
                    So?

                    paul

                    Kommentar

                    Lädt...
                    X