Ankündigung

Einklappen
Keine Ankündigung bisher.

Regex: & -> &

Einklappen

Neue Werbung 2019

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

  • Regex: & -> &

    Hallo zusammen

    Ich habe folgenden Code Block geschrieben, der mir in einem String ein & in ein & umwandelt:

    PHP-Code:
    <?php
    $string 
    "C & A";

    $pos strpos($string"&");

    if (
    $pos !== false) {
        
    $string str_replace("&""&amp;"$string);
    }

    echo 
    $string // C &amp; A
    ?>
    Ist es möglich die 2 Funktionen mittels Regex in eine zusammenzufassen? (preg_replace)

    Vielen Dank

    Gruss Airbus_Simmer

  • #2
    Tieferer Sinn?

    - Warum nicht htmlspecialchars?
    - Wozu strpos, str_replace funktioniert auch ohne Fundstelle
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      - Wozu strpos, str_replace funktioniert auch ohne Fundstelle
      Wenn der String bereits ein &amp; enthält, hätte ich sonst &amp;amp;

      Kommentar


      • #4
        Bei htmlspecialchars kannst du als Parameter mit angeben, dass er nix doppelt codieren soll.

        Kommentar


        • #5
          Wenn der String bereits ein &amp; enthält, hätte ich sonst &amp;amp;
          Dann nimm doch einfach die Leerzeichen mit.
          PHP-Code:
          $string str_replace(' & ''&amp;'$string); 
          vielleicht etwas dirty, aber kommt hin, ohne großen Aufriß wegen so'ner Kleinigkeit...
          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

          Kommentar


          • #6
            Ist aber nicht korrekt. Wenn, dann müßtest Du nach ' &amp; ' ersetzen. Und & ohne Leerzeichen werden nicht ersetzt. Und überhaupt finde ich trotzdem, es kommt auf den Kontext an.
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              Ja sicher, sagte ja is "dirty" und mit ' &amp; ' hast natürlich auch recht...
              War nur für diese Aussage gedacht:
              Wenn der String bereits ein &amp; enthält, hätte ich sonst &amp;amp;
              schön is' natürlich was anderes!
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                @draco:

                Mist, ich wollte dich zitieren, hab versehentlich editiert. Warum passiert mir das hier dauernd? Bitte um Entschuldigung!

                Was ich eigentlich schreiben wollte ist:
                Du meinst ich hab bisher immer umsonst html_entity_decode() aufgerufen? "Richtiger" wäre es aber wohl zu wissen ob nun Entities im Inhalt stehen können/dürfen oder nicht.
                "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

                Kommentar


                • #9
                  Nach dem Chriz meinen Vorschlag "ausversehen" gelöscht hat
                  hier nochmal der Code:

                  PHP-Code:
                  $text str_replace(array('&amp;''&'), array('&''&amp;'), $text); 
                  Ersetzt nur & durch &amp; und lässt &amp; unverändert stehen.

                  Kommentar


                  • #10
                    Vielen Dank

                    Kommentar

                    Lädt...
                    X