URL Syntax überprüfen mit ereg()

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

  • URL Syntax überprüfen mit ereg()

    Hallo,

    bin langsam am verzweifeln. Hier ist mal ein Codeschnipsel:

    [ php ]
    if(ereg("^([a-zA-Z0-9]+\.)+([a-zA-Z]{2,4})$",$homepage)){
    echo "URL stimmt: $homepage";
    } else {
    echo "URL ist net richtig: $homepage";
    }

    [/ php ]
    Sieht super aus, aber leider funzt es net

    Es soll einfach überprüft werden ob die in der Variable $homepage angegebene URL von der Syntax her stimmen könnte.

    Also http://www.irgendwas.de muss genauso als richtig erkannt werden wie www.irgendwas.de (Übrigens wird www.irgendwas.de als richtig erkannt)

    Ich bräuchte einen richtigen ereg() Begriff. Ich blicks einfach net.

    Vielen Dank für Hilfe

    Goerni

  • #2
    warum suchst du nicht im forum? das haben wir hier schon drin.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hallo,

      Ich habe ca. eine Stunde gesucht, leider nichts passendes gefunden, sonst würde ich hier nicht posten.

      Ich habe zwar etwas gefunden, das URLs und eMailAdressen aus einem Text heraussondiert, und ankllickbar macht, aber das ist nicht dasselbe.
      (hauptsächlich mit ereg_replace())

      Es wäre nett, wenn Du mir den Post als Link mit angeben könntest. Vielleicht bin ich einfach nur nicht "darüber gestolpert."

      Vielen Dank

      Goerni

      Kommentar


      • #4
        Original geschrieben von Goerni
        , aber das ist nicht dasselbe.
        doch! ist es. schliesslich muss er die links ja auch erst finden. und voilá das ist dann schon dein gesuchtes suchmuster.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Aaaaallllsooo,

          ich habe jetzt in einem anderem Threat das hier gefunden:

          PHP-Code:

          case("www"):
              if(!
          preg_match("/^((http:\/\/|)[w]{3}\.|)[a-z0-9\.-]{2,}\.[a-z]{2,10}$/i"$fldName))
              
          $errMsg "Die eingegebene URL hat ein falsches Format.<br />";
                  break; 
          Das hab ich dann auch gleich eingebaut:
          Sieht dann etwa so aus:
          PHP-Code:
          //URL überprüfen und ggf ergänzen
          if(ereg("/^((http:\/\/|)[w]{3}\.|)[a-z0-9\.-]{2,}\.[a-z]{2,10}$/i",$homepage)){
          echo 
          "URL stimmt: $homepage";
          } else {
          echo 
          "URL ist net richtig: $homepage";

          Witzigerweise erkennt er jetzt gar keine eMail mehr.
          Wie dem auch sei, ich kann auch noch drei Stunden rummachen, ich dachte eigentlich, das Forum sei dazu da um anderen zu helfen.

          Wenn nun dieses Thema zwar ähnlich behandelt wurde, aber nicht in diesem speziellen Fall, dann wäre es doch ein einfaches für einen PHP-Profi mir mal diesen o.a. Schnipsel zum laufen zu bringen.

          Ich mache jetzt schon drei Stunden in sämtlichen Foren rum und finde keine Lösung für genau dieses Problem, und dann werde ich weiter rumgeschickt mit den Worten: Benutze die Suchfunktion!

          Also ein bisserl komisch ist das hier schon.

          Trotzdem vielen Dank für Deine "versuchte" Hilfe.

          Gruß
          Goerni

          Kommentar


          • #6
            Original geschrieben von Goerni
            [...] ich dachte eigentlich, das Forum sei dazu da um anderen zu helfen.
            das sagen sie alle. und dann posten wir immer diesen link hier. dort kannst du dann bitte weiterschreiben.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Witzigerweise erkennt er jetzt gar keine eMail mehr.

              Es soll einfach überprüft werden ob die in der Variable $homepage angegebene URL von der Syntax her stimmen könnte.
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                Witzigerweise erkennt er jetzt gar keine eMail mehr.
                Nun gut, sollte natürlich URL heissen

                Jetzt hab ichs geschafft, ist zwar vermutlich etwas umständlich, aber es erfüllt sein Zweck.
                Der Code überprüft ob in einer Variablen $homepage etwas drinsteht, danach wird das http abgeschnitten, wenns da ist (wusste net wie ich die Syntax prüfen soll), danach wird ab dem www die Syntax überprüft und das http wird bei der Ausgabe wieder angefügt


                PHP-Code:
                //URL vorhanden?
                if ($homepage != "\n"
                {
                    
                //Wenn ja, dann schauen obs mit http anfängt
                    
                if (strstr($homepage,"http://")) 
                    {

                    
                //Wenn mit http anfängt, dann wech damit
                    
                $homepage=str_replace("http://","",$homepage);
                    }
                }    
                // Überprüfen ob das restliche Format stimmt z.B. [url]www.xyz.de[/url]
                if(ereg("^([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$homepage))
                        {
                        if(!
                ereg("^[url]http:////[/url]",$homepage))
                            {
                            
                $homepage="http://".$homepage;
                            }
                            
                $hp_format="<a href="$homepage " target=\"_new\">" $homepage "</a>";
                            }

                //Wenn keine Homepage dann Ausgabe Leider keine Homepage
                if ($homepage == "")
                {
                $hp_format="Keine Angabe";
                }        
                //URL Überprüfung ENDE 
                Ich habe übrigens die Netiquette durchgelesen, und bin trotzdem der Meinung, dass man in meinem Fall zumindest auf einen passenden Post verweisen hätte können. Es kann ja sein, dass einem Newbie einfach nicht die passenden Suchwörter einfallen um zu einem treffenden Ergebniss zu kommen.

                Naja, trotzdem nochmal vielen Dank.

                Goerni

                Kommentar


                • #9
                  dass man in meinem Fall zumindest auf einen passenden Post
                  wir sind halt as suchfaul as you are.

                  ähm, vielleicht hilft dir auch parse_url, auch wenn du das problem schon gelöst hast ...
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar

                  Lädt...
                  X