String finden und in URL umwandel

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

  • String finden und in URL umwandel

    Schönen guten Abend,

    erstmal danke für die letzte Hilfe. Doch nun habe ich ein weiteres Problem.

    Wie kann ich aus einem Text einen String, der mit 'http://' beginnt, so erkennen, daß dieser in eine URL umgewandelt wird.
    Ich denke, da die Länge des Strings unbekannt ist, muß erkannt werden, alles was mit http:// anfängt und dann bis zum ersten Leerzeichen folgt, ist eine URL-Adresse.
    Nachdem der Besucher aber seinen Eintrag aufruft, sollte er genau diese Stelle als Link vorfinden.
    Man kann ja nicht verlangen, daß man es nur mit HTML-Profis zu tun hat, die wissen, das hier ein 'a href'-tag voran gestellt werden muß.
    Trotzdem möchte ich dieses anbieten.
    Wie geht soetwas?

  • #2
    Hallo,

    da ich eben aus Versehen auf erstellen und nicht auf Vorschau geklickt habe, habe ich in meinem Eintrag genau das gesehen was ich möchte.

    Der eine string ist jetzt als Link dargestellt.

    Seht Ihr was ich meine.

    So soll es sein

    Vielen Dank für Eure Hilfe

    Kommentar


    • #3
      Code:
      <?php
      $text = "Das ist eine [url]http://url[/url] und das aber nicht.. Das ist wieder eine [url]http://www.link.de[/url] ..";
      echo $text;
      echo "<br><br>";
      echo parseURL($text);
      
      
      function parseURL($text) {
       $search="/([^]_a-z0-9-=\"'\/])((https?|ftp):\/\/|www\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si";
       $replace="\\1<a href='\\2\\4'>\\2\\4</a>";
       $text = preg_replace($search, $replace, $text);
       return $text;
      }
      ?>
      [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
      [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
      [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

      © Harald Schmidt

      Kommentar


      • #4
        Vielen Dank, aber...

        Genau das wars, jetzt muß ich nur noch zusehen, diesen auch in einem neuen fenster zu öffnen, also _target=blank zu machen.

        Schönen Abend noch

        Kommentar


        • #5
          Code:
          <?php
          $text = "Das ist eine [url]http://url[/url] und das aber nicht.. Das ist wieder eine [url]http://www.link.de[/url] ..";
          echo $text;
          echo "<br><br>";
          echo parseURL($text);
          
          
          function parseURL($text) {
           $search="/([^]_a-z0-9-=\"'\/])((https?|ftp):\/\/|www\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si";
           $replace="\\1<a href='\\2\\4' [B]target='_blank'[/B]>\\2\\4</a>";
           $text = preg_replace($search, $replace, $text);
           return $text;
          }
          ?>
          [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
          [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
          [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

          © Harald Schmidt

          Kommentar


          • #6
            Genau, dU warts aber schneller

            Jetzt habe ich es auch rausgefunden,

            Vielen Dabk für die schnelle Hilfe

            Kommentar


            • #7
              Dafür gab es aber doch auch ne vorgefertigte funktion. das ganze sah dann nur noch so aus: $text = funktion($text);
              kennt die noch jemand?

              Kommentar


              • #8
                hallo!.. schön und gut, doch ich bräuchte eine abänderung dieses codes, denn dieser erkennt folgende adressen schon mal nicht, da die nicht frei stehen:
                [hide]http://url-die-man-erst-nach-beantworten-sehen-soll.te[/hide]

                Weil die ']' direkt an den "link" anschließt, wird dieser nicht erkannt ...

                was müsste man abändern, damit auch diese zu sehen sind?

                Kommentar


                • #9
                  Hi @all

                  Was müsste ich der Funktion anfügen dass Bilder-URL's und URLs welche bereits im HTML-Format bereitsstehen nicht geändert werden?

                  mfg
                  ubnet

                  Kommentar


                  • #10
                    Schau mal hier vorbei

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar

                    Lädt...
                    X