[Funktion] BBCode Problem mit http://

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

  • #31
    formuliere dein problem und eine frage dazu, sodass man darauf eingehen kann.

    Kommentar


    • #32
      Ich habe zurzeit w+ stehen. Aber wenn dann [\w]{3,} steht, dann hat man ja wieder das problem, das du vorhin angeführt hast, sodass der Link seite.de?goto=http://google.de korrekt wäre und nicht umgewandelt wird. Wie kann ich das nun machen, dass auch das richtig erkannt wird?
      [color=red]Meine Seite:[/color]
      American-Dad.de

      Kommentar


      • #33
        dass das eine unsinnige idee ist, eine zeichenklasse zu verwenden, habe ich auch schon angemerkt.

        und vielleicht tust du endlich das, worum du gebeten wurdest und beantwortest die frage danach, was ein zirkumflex im bezug auf den gesamtausdruck für eine bedeutung hat.

        Kommentar


        • #34
          Original geschrieben von penizillin
          und vielleicht tust du endlich das, worum du gebeten wurdest und beantwortest die frage danach, was ein zirkumflex im bezug auf den gesamtausdruck für eine bedeutung hat.
          Wo habe ich denn bitte sehr ein Zirkumflex verwendet? Ich kenne mich da nicht so gut aus. Mein Wissen bei regulären Ausdrücken ist leider auch sehr begrenzt. Es tut mir wirklich leid, dass deshalb viele Missverständnisse entstehen. Ich versuche wirklich sehr, zu verstehen, was du meinst, doch auch durch googlen etc. kann ich nicht alles von deinen Fachausdrücken für mich verständlich machen. Sorry, tut mir echt leid.
          [color=red]Meine Seite:[/color]
          American-Dad.de

          Kommentar


          • #35
            du hast ihn nicht verwendet. habe ich das behauptet?
            kannst du nun endlich die frage beantworten?

            Kommentar


            • #36
              Original geschrieben von penizillin
              du hast ihn nicht verwendet. habe ich das behauptet?
              kannst du nun endlich die frage beantworten?
              Das weiß ich eben nicht, da mein Wissen hier zu Ende ist. Ich weiß nur, dass durch \w+ Buchstaben gesucht werden. Ich würde gerne deine Frage beantworten, nur bin ich dazu nicht imstande, da mir das nötige Wissen dazu fehlt.
              [color=red]Meine Seite:[/color]
              American-Dad.de

              Kommentar


              • #37
                ich habe dir einen link gegeben. gib dir doch mühe, ihn dir anzuschauen!

                Kommentar


                • #38
                  Original geschrieben von penizillin
                  ich habe dir einen link gegeben. gib dir doch mühe, ihn dir anzuschauen!
                  Hoppla, tut mir leid. Den Link habe ich aus irgendeinem Grund übersehen.

                  Das Problem ist nur, dass das w+ dann trotzdem noch am Anfang steht, da bei ja www.example.com/?site=http://google.de dann www.example.com/?site=http auch am Anfang ist.

                  Jetzt lässt sich die Frage stellen, welche Zeichen für Protokolle möglich sind? A-Z und a-z ist einmal klar. Bei POP3 ist eine Zahl dabei, also sollen auch Zahlen möglich sein. Bei Z39.50 ist ein Punkt dabei, also nehmen wir auch einen Punkt mit. Wenn mich nicht alles täuscht, müssten das dann alle Zeichen sein. Ich habe leider keine Seite gefunden, wo man die genaue Difinitionsmenge für die möglichen Zeichen finden kann. Wisst ihr weiter?

                  Ansonsten könnte man das w einfach mit [a-zA-Z0-9\.] ersetzen.

                  PHP-Code:
                  function protocol_replace($matches) {
                      if(
                  preg_match('|^[a-zA-Z0-9\.]+://|'$matches[1])) {
                          return 
                  '<a href="'.$matches[1].'" '.$matches[2].'>'.$matches[3].'</a>';
                      } else {
                          return 
                  '<a href="http://'.$matches[1].'" '.$matches[2].'>'.$matches[3].'</a>';
                      }
                    } 
                  Zuletzt geändert von Mra; 15.07.2007, 15:24.
                  [color=red]Meine Seite:[/color]
                  American-Dad.de

                  Kommentar


                  • #39
                    brauchst du denn wirklich alle? http://en.wikipedia.org/wiki/Application_layer

                    warum nicht einfach eine auswahl aus http / https / ftp / nttp / webdav und noch einem-zwei weiteren protokolle am anfang des strings verlangen?

                    Das Problem ist nur, dass das w+ dann trotzdem noch am Anfang steht, ...
                    aber nicht gefolgt von "://".

                    Kommentar


                    • #40
                      Original geschrieben von penizillin
                      aber nicht gefolgt von "://".
                      Doch. Für w würde dann www.example.com/?site=http kommen, dass gefolgt von :// ist. Immerhin suche ich ja nicht nach irgendeinem Text mit ://, sondern nach Text nach <a href=" und da wäre das ja dann wieder so gut wie am Anfang. Die Zeichen auf ^[a-zA-Z0-9\.] zu reduzieren, scheint wohl die einzige Möglichkeit zu sein.
                      Zuletzt geändert von Mra; 15.07.2007, 15:24.
                      [color=red]Meine Seite:[/color]
                      American-Dad.de

                      Kommentar


                      • #41
                        Für w würde dann www.example.com/?site=http kommen, dass gefolgt von :// ist.
                        www.das-dass.de
                        nein, \w+ würde am punkt scheitern.

                        was ist denn nun dein aktueller ausdruck?

                        Kommentar


                        • #42
                          function protocol_replace($matches) {
                          if(preg_match('|^[a-zA-Z0-9\.]+://|', $matches[1])) {
                          return '<a href="'.$matches[1].'" '.$matches[2].'>'.$matches[3].'</a>';
                          } else {
                          return '<a href="http://'.$matches[1].'" '.$matches[2].'>'.$matches[3].'</a>';
                          }
                          }
                          So funktioniert das ganz gut. Das Skript erkennt nun genau auf dieselbe Weise Protokolle wie Firefox, ohne automatisch http:// voranzusetzen.
                          [color=red]Meine Seite:[/color]
                          American-Dad.de

                          Kommentar


                          • #43
                            alles klar, sieht gut aus!

                            Kommentar

                            Lädt...
                            X