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. Come estrarre una stringa da un testo?
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • S
      stimart User • ultima modifica di

      Come estrarre una stringa da un testo?

      🙂 Ciao a tutti amici,
      avrei bisogno del vostro prezioso aiuto.

      Ho la seguente parte di codice salvata dentro un database:

      <img alt="c_04" src="immagini/galleria1/foto1.jpg" width="262" height="248" /><br />Foto1<br />Le mia foto<br />
      

      Questa porzione di codice html viene caricata da php ed assegnata per intero ad una stringa denominata $testo.

      Il mio problema è riuscire, tramite codice php, ad estrarre SOLO il contenuto all'interno di **src="...." **e assegnarlo alla stringa $testo.

      Quindi, fare in modo che alla fine il risultato sia:

      $testo = "immagini/galleria1/foto1.jpg"

      :mmm: come posso fare ciò???

      :bigsmile: Attendo il vostro prezioso aiuto!
      Ciau ciau

      0 Miglior Risposta Ringrazia Cita Rispondi

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

        Ciao stimart,

        puoi utilizzare le espressioni regolari, oppure fare un explode di <img src=" e di " per prendere la parte compresa tra questi.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • S
          seo.italy User Attivo • ultima modifica di

          Segui il manuale, Luke! 🙂
          http://www.php.net/manual/en/function.preg-match.php

          Se proprio non ci riesci, torna qua...

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • S
            stimart User • ultima modifica di

            😄 credo di esserci riuscito... ditemi se così va bene!

                          // Trova e restituisci il link dell'immagine
                                    $string = " ".$img;
                                    $ini = strpos($string,"src=\"");
                                    $ini += strlen("src=\"");
                                    $len = strpos($string,"\"",$ini) - $ini;
                                    $img = substr($string,$ini,$len);
                                    // End
            

            :mmm: si può migliorare?

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • S
              seo.italy User Attivo • ultima modifica di

              Certo che si può migliorare, usando le Regular Expressions: lo so che all'inizio sono un po' difficili ma se vuoi diventare un bravo programmatore (in qualsiasi linguaggio) ti consiglio vivamente di impararle...

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • S
                stimart User • ultima modifica di

                Mmmm... ok, ma 😛 non lo so faaaareeee....
                Mi aiuti??? 😉

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • S
                  seo.italy User Attivo • ultima modifica di

                  Hai letto quella pagina di manuale? Che cos'è che non ti è chiaro? Per aiutarti cerca anche "espressioni regolari" o "regular expressions" su Google...

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • B
                    blancks User • ultima modifica di

                    Attenzione però: le espressioni regolari sono si un ottimo strumento di pattern ma al contempo impiegano una quantità spropositata di risorse del web server.

                    Come ogni cosa bisogna saper usare gli strumenti a disposizione con sufficiente raziocinio da capire se v'è la reale necessità di impiegarle.

                    In questo caso, anche se più semplice, è superflua un espressione regolare tuttavia come suggerisce SEO Italy sono comunque un passo importante da apprendere e, a tal fine, posso suggerirti qualcosa che ho trovato sufficientemente valido in merito all'argomento:

                    1. fido.altervista.org/RegExp/regex.html
                    2. addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/

                    Saluti :ciauz:

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • P
                      pater Super User • ultima modifica di

                      Se la stringa che ricevi è sempre la stessa, nel senso che l'unica cosa che cambia è l'indirizzo dell'immagine, potesti anche andare avanti con le sole funzioni sulle stringhe, sarebbe certamente più performante in questo caso.. ed eviteresti uno spreco inutile di risorse.

                      Dico questo perchè a quanto ho capito la ricerca non è estesa ad un intero documento ma ad una piccola porzione..

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • D
                        danny1975 User Attivo • ultima modifica di

                        Ciao,
                        a cosa ti serve dividere la stringa?
                        Se hai risolto lascia perdere,
                        ma se vuoi visualizzare delle immagini io faccio diversamente.
                        Fammi sapere
                        Ciao da danny1975

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • S
                          stimart User • ultima modifica di

                          Ciao a tutti ragazzi 😉
                          innanzitutto grazie a tutti per essere intervenuti.

                          Ciò che devo estrarre io è tutto ciò che c'è scritto all''interno di src="..." e restituirlo ad una stringa che stamperà i dati come xml.

                          La funzione in php che ho creato va benissimo, ma mi chiedevo se esisteva il modo di renderla più piccola, più flessibile.

                          Le espressioni regolari non so proprio utilizzarle, dovrei studiarle bene per capirci qualcosa... ma, a quanto dite, potrebbero essere un pò pesanti.

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • S
                            seo.italy User Attivo • ultima modifica di

                            Ok, visto che avevo un po' di tempo (non è vero... :2: ho messo a confronto tre metodi per ottenere il risultato voluto: RegExp, soluzione proposta originariamente da stimart e explode.

                            I risultati sono qua: http://www.seoitaly.it/tools/regexp.php

                            Come si può vedere (con 100 stringhe diverse da processare) la RegExp ci mette più o meno il doppio delle altre soluzioni, che sono invece per lo più equivalenti (in termini di tempo di esecuzione).

                            Ovviamente ci possono essere delle soluzioni ancora più rapide (o compatte, senza perderci troppo tempo la più corta che ho trovato e quella con "explode")

                            Per quanto riguarda la tua domanda, stimart, più "piccola" è un conto, più "flessibile" (e in questo caso niente ma davvero niente batte le RegExp) è un altro...

                            Saluti a tutti! 🙂

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • S
                              seo.italy User Attivo • ultima modifica di

                              Ho aggiunto una funzionalità allo script, adesso si possono inserire il numero di "righe" da processare in input - così vediamo un po' se cambia qualcosa al variare delle dimensioni dell'input...

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • S
                                stimart User • ultima modifica di

                                Carissimo SEO 🙂
                                grazie di cuore per la tua risposta e l'interesse.

                                Credo, a questo punto, che il mio codice va più che bene per i miei scopi... però, avere scoperto quelle altre alternative mi stimola a comprendere meglio certi aspetti della programmazione.

                                😉 Grazie infinite a tutti.
                                E' sempre bello confrontarsi.

                                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