Ankündigung

Einklappen
Keine Ankündigung bisher.

String Schriftformatierung ändern

Einklappen

Neue Werbung 2019

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

  • String Schriftformatierung ändern

    Hallo,
    ich beziehe mich auf diesen Post von mir:
    http://www.php.de/php-einsteiger/700..._contents.html
    Ich habe nun einen String in einer Variable. Leider sehen diese in der Anzeige nicht immer gleich aus. Gibt es eine Möglichkeit darauf einfluss zu nehmen und bspw. die fette Schrift in normal zu ändern?

    Thx nochmal für den schnelle Hilfe meines ersten Probs.

  • #2
    wenn das HTML Content ist, der in dem String steht, kannst du z.B. die str_replace() Funktion nutzen um das <b> bzw. </b> entfernen.

    Kommentar


    • #3
      Habs so versucht:
      $content = str_replace("<br>", "", $content);
      $content = str_replace("</br>", "", $content);
      Leider ohne Erfolg.

      Kommentar


      • #4
        <br> ist ein Zeilenumbruch und </br> gibts net !

        Stell hier mal am besten rein, was file_get_contents dir liefert.
        Signatur:
        PHP-Code:
        $s '0048656c6c6f20576f726c64';
        while(
        $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

        Kommentar


        • #5
          Und auf die lustige Idee, <br> hätte irgendwas mit Fettschrift zu tun, kommst du wie ...?
          [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

          Kommentar


          • #6
            <br> oder besser <br /> erzeugt einen Zeilenumbruch.
            <b> öffnet einen bold (Fettschrift) - Tag, </b> schliesst ihn wieder.

            Lerne Grundlagen: SELFHTML: HTML/XHTML / Elemente zur Textstrukturierung / Ältere Elemente zur Schriftformatierung

            Und dann wäre es echt hilfreich, wenn du mal posten würdest, was
            PHP-Code:
            echo '$content'
            dir auf der Seite ausgibt.

            Kommentar


            • #7
              Das hier: http://www.faustball-ergebnisse.de/e...lklingen%20(N)
              [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


              • #8
                Nun, du überschreibst ja jeweils $content wieder mit $content.
                Beim ersten str_replace entfernst du den öffnenden Tag aus $content.
                Beim zweiten str_replace überschreibst du deinen grade erstellten $content wieder, entfernst diesmal nur den schliessenden Tag aus $content, lässt aber den öffnenden bestehen. Ist logisch, dass sich da nichts sichtbar verändert, nur weil der schliessende Tag fehlt.
                Du musst dein erstes Ergebnis zwischenspeichern und dieses dann weiterverarbeiten.

                PHP-Code:
                $content_ohne_b str_replace("<b>"""$content);
                $content_ausgabe str_replace("</b>"""$content_ohne_b);
                echo 
                $content_ausgabe

                Kommentar


                • #9
                  Zitat von estebu
                  <b> öffnet einen bold (Fettschrift) - Tag, </b> schliesst ihn wieder.
                  Ich meine, daß mittlerweile <strong>text</strong> anstatt <b>text</b> die modernere Variante ist?!

                  Zudem: Schon wieder überflüssige Quotes...
                  PHP-Code:
                  echo '$content';

                  // Warum nicht einfach
                  echo $content
                  Zitat von estebu
                  Beim ersten str_replace entfernst du den öffnenden Tag aus $content.
                  Beim zweiten str_replace überschreibst du deinen grade erstellten $content wieder, entfernst diesmal nur den schliessenden Tag aus $content, lässt aber den öffnenden bestehen.
                  Öhm nein, auch seine Variante sollte rein technisch funktionieren:
                  PHP-Code:
                  $content 'Dies ist <b>mein</b> Text';

                  $content str_replace('<b>'''$content); // ergibt für $content: 'Dies ist mein</b> Text';
                  $content str_replace('</b>'''$content); // ergibt für $content: 'Dies ist mein Text'; 
                  Daß man das über RegEx evtl. in einem Rutsch filtern könnte sei mal dahingestellt...
                  Competence-Center -> Enjoy the Informatrix
                  PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                  Kommentar


                  • #10
                    Zitat von Arne Drews Beitrag anzeigen
                    Zudem: Schon wieder überflüssige Quotes...
                    PHP-Code:
                    echo '$content';

                    // Warum nicht einfach
                    echo $content
                    Nicht nur überflüssing, sondern komplett falsch! Der Code da oben gibt den Text $content aus, nicht den Inhalt der Variablen.
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Zitat von Arne Drews Beitrag anzeigen
                      Zudem: Schon wieder überflüssige Quotes...
                      PHP-Code:
                      echo '$content';

                      // Warum nicht einfach
                      echo $content
                      Ja richtig, ist natürlich völliger Blödsinn. Habe ich wohl in der Eile übersehen. Die Ausgabe wäre ja dann nur $content und nicht der eigentliche Inhalt.

                      Kommentar


                      • #12

                        Öhm nein, auch seine Variante sollte rein technisch funktionieren:
                        PHP-Code:
                        $content 'Dies ist <b>mein</b> Text';

                        $content str_replace('<b>'''$content); // ergibt für $content: 'Dies ist mein</b> Text';
                        $content str_replace('</b>'''$content); // ergibt für $content: 'Dies ist mein Text'; 
                        Hm. Hab es mal ausprobiert und es geht tatsächlich, obwohl ich vom Logischen her jetzt wirklich gemeint hätte, dass das str_replace sich ja immer wieder auf den original->$content bezieht und somit ja überschrieben werden müsste. Wird der erste, gestrafte $content denn irgendwie zwischengespeichert? Wäre jetzt für mich mal interessant zu erfahren.

                        Kommentar


                        • #13
                          output = str_replace( was, wie, input );

                          Genügt dir das als aufschlussreiche Antwort ?
                          [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                          Kommentar

                          Lädt...
                          X