HTML ersetzen

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

  • HTML ersetzen

    Hallo!

    Ich steh vor nem kleinen Problem. Ich habe einen String nach folgendem Muster:

    PHP-Code:
    $str "Hallo<br> <a href=\"#\">Dies</a> ist ein Testtext." 
    Es kommen also HTML-Befehle darin vor. Die stellen an sich kein Problem dar und sollen erhalten bleiben. Lediglich der Link muss verschwinden.

    Das Problem, das ich hab, ist, dass nun der Linktext immer verschieden ist.

    jmd eine Idee?

    Danke schonmal im Voraus

  • #2
    wenn der linktext verschieden ist und der link-tag immer gleich: str_replace
    wenn der inhalt des link-tags auch variiert: regulärer ausdruck (preg_*)

    Kommentar


    • #3
      Dann brauch ich nen reg. Ausdruck...

      Problem: damit kann ich nicht umgehen^^

      Tutorials lesen schlägt übrigens fehl, wie ich grade festgestellt hab

      Kommentar


      • #4
        tja, nicht gerade die besten voraussetzungen fürs programmieren.

        welches tut hasse denn gelesen? das von sky?

        im wesentlichen hast du doch nur folgendes.

        pseudocode: <a href="(.*)">(.*)</a>

        kann evtl im ersten teil noch etwas erweitert werden...

        Kommentar


        • #5
          ne, das quakenet-php tut

          http://tut.php-q.net/

          ich kann in php eh nur das nötigste... datenbankabfragen, schleifen etc... eben das was man auch am häufigsten braucht^^

          Kommentar


          • #6
            eben das was man auch am häufigsten braucht^^
            das hängt ja immer davon ab, was man macht...

            www.php-resource.de/tutorials/read/10/1/

            Kommentar


            • #7
              Habs im Prinzip verstanden und auch direkt angewendet:

              PHP-Code:
              $preview preg_replace('/<a href=(.*)/','',$pre_preview); 
              So klappt es. Ich weiß nicht warum, aber ich brauche den Tag nicht mal schließen. Text dahinter wird noch angezeigt, aber bis zum </a> ist alles verschwunden.
              Wenn mir jetzt noch einer erklären könnte, warum das so ist, wäre ich dankbar.

              Kommentar


              • #8
                Wenn mir jetzt noch einer erklären könnte, warum das so ist, wäre ich dankbar.
                Guck dir mal den Quelltext (HTML) an. ich wette der ist sowas von ungültig durch deine operation geworden. Aber browser sind eben großzügig.

                Kommentar


                • #9
                  Ne. Kein Fehler drin. Stimmt alles. Kein abschließendes </a> etc. Der gesamte Link fehlt, der Text danach wird korrekt dargestellt (was mich am meisten wundert, mal gemessen an meinem Kenntnisstand über die reg. Ausdrücke). HTML- Befehle werden danach auch noch korrekt angezeigt.

                  Hab den Text auch mal ohne preg_replace() ausgeben lassen, da wird der Link korrekt dargestellt.

                  Kommentar


                  • #10
                    wie sieht denn der Inhalt von $pre_preview aus?

                    Kommentar


                    • #11
                      ich bin bei gott kein profi
                      aber

                      $preview = preg_replace('/<a href=(.*)/','',$pre_preview);

                      gehören in einen link keine redezeichen ?

                      <a href="LINK">blabla</a>

                      sorry wenn ich nun mist gelabert hab aber kam mir halt spanisch vor

                      Kommentar


                      • #12
                        ich sach nur (.*) das schließt deine "Redezeichen" ein.
                        Zuletzt geändert von TobiaZ; 21.03.2005, 19:06.

                        Kommentar


                        • #13
                          okay *stillschweig*

                          Kommentar


                          • #14
                            $pre_preview enthält den Inhalt, der über ein Eingabefeld eingegeben wurde. Das ist einfacher Text (schon mit nl2br formatiert) mit HTML- Befehlen wie kursiv und so... Ich hab folgendes als Testtext genommen:

                            Edit: das mit den Anführungszeichen war schon Absicht.
                            ---

                            Hier steht ein Text. Nur zum Test. <a href="bla">Hier ist ein Link.</a> Hier nicht. <a href="blabla">Hier schon.</a>. Und wenn das nicht klappt, hab ich einen Fehler gemacht.
                            Hier ist ein neuer Absatz.

                            Und hier ein neuer Abschnitt.

                            Das nenn ich toll.

                            ---

                            Kommentar

                            Lädt...
                            X