Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. espressione regolare per riconoscere url
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • G
      giamal84 User Attivo • ultima modifica di

      espressione regolare per riconoscere url

      Ciao,
      vorrei riconoscere tramite espressione regolare delle url fatte cosi:

      www . nomesito . ext

      Come si può fare con php?

      Saluti.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • H
        html5today User Attivo • ultima modifica di

        Perchè scomodare le Regular Expressions quando c'è h t t p : //php.net/manual/en/function.parse-url.php ?
        😉

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • G
          giamal84 User Attivo • ultima modifica di

          io vorrei sapere se una data stringa è un url o no, quindi deve restituire TRUE o FALSE.
          parse_url invece restituisce un array e non valida l'url.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            thedarkita ModSenior • ultima modifica di

            Puoi fare cosi:
            [php]
            filter_var('example.com', FILTER_VALIDATE_URL);
            [/php]

            EDIT: Però è disponibile solamente da php 5.2.0
            Altrimenti puoi utilizzare questa funzione:
            [php]
            function valid_url($url)
            {
            $pattern = "/^((ht|f)tp(s?)://|~/|/)?([w]{2}([\w-]+.)+([\w]{2,5}))(:[\d]{1,5})?/";
            if (!preg_match($pattern, $url))
            {
            return FALSE;
            }

                return TRUE;
            }
            

            [/php]

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • G
              giamal84 User Attivo • ultima modifica di

              L'url da controllare deve essere tipo questa:

              www . nomesito . ext

              Non mi serve che ci sia altro nella stringa

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • H
                html5today User Attivo • ultima modifica di

                Prova così
                [php]function is_url($string) {
                if (preg_match('/www.([^.]+).([^.]{2,4})/', $string) {
                return true;
                } else {
                return false;
                }
                }[/php](non testato, ma dovrebbe fungere)

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • G
                  giamal84 User Attivo • ultima modifica di

                  grazie per la risposta.
                  dopo alcune prove, ho creato questa espressione:

                  [php]

                  function isURLvalida($url){

                      $pattern = "/[w]{3}(\.){1}[a-z0-9]{2,}(\.){1}[a-z0-9]{2,3}/";
                      
                      return preg_match($pattern, $url);
                      
                  }
                  

                  [/php]va bene lo stesso?

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • H
                    html5today User Attivo • ultima modifica di

                    Uhm... una serie di considerazioni:

                    • [w]: sono inutili le parentesi quadre (che indicano una "serie" di caratteri, tipo [a-z] cioè tutti i caratteri minuscoli dalla "a" alla "z"), qui c'è un carattere solo, e comunque mi pare di ricordare che sia più efficiente mettere (in questo caso) "www" invece che "w{3}"
                    • (.){1}: inutile il {1}, è implicito che se non indichi nulla lui cerca UN carattere e inutile la parentesi intorno al punto
                    • [a-z0-9]{2,3} per l'estensione: non mi pare sia consentito inserire numeri nella "estensione" di un dominio (è vero che io avevo messo il pattern più generico ma visto che controlli controlla bene), poi come hai fatto ti limiti solo ai caratteri minuscoli (se scrivono la URL in maiuscolo la perdi) e in più esistono estensioni (tipo .mobi) che sono di 4 caratteri

                    Per il resto va bene... 😉

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • G
                      giamal84 User Attivo • ultima modifica di

                      Il tuo aiuto mi è stato molto utile.
                      Grazie ancora.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      Caricamento altri post
                      Rispondi
                      • Topic risposta
                      Effettua l'accesso per rispondere
                      • Da Vecchi a Nuovi
                      • Da Nuovi a Vecchi
                      • Più Voti