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. Su stringhe: togliere ID iniziale e .jpg finale da una stringa
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • J
      joker197cinque User Attivo • ultima modifica di

      @fabioski said:

      Nel mio database salvo i nomi delle foto con questo schema:
      ID-nome-foto-resa-friendly.jpg

      Sto riscrivendo gli url per le pagine che mostrano tali foto.
      Il mio obiettivo è di far apparire una url di questo tipo:
      blabla/nome-foto-resa-friendly.html

      Quindi devo eliminare i numeretti iniziali e devo eliminare il .jpg finale.

      Tipici url delle foto salvate sono:
      6084-bellunese-vecchia-marmolada.jpg --> blabla/bellunese-vecchia-marmolada.html
      756-curve-mondiali.jpg --> blabla/curve-mondiali.html
      777-ridimensiona-disimposio-bianco-036.jpg --> blabla/ridimensiona-disimposio-bianco.html

      Come posso impostare la risoluzione di questo bel problema?

      Eccoti una soluzione sql pura:

      
      select
            concat('blabla/', replace(
                    lower(
                          right(
                                replace(
                                        [tuocampo], substring_index([tuocampo], '-', 1), ''
                                        ),length(replace([tuocampo], substring_index([tuocampo], '-', 1
                                ), ''))-1)
                         )
                    , '.jpg', ''
                    ), '.html')
      from
            [tuatabella];
      
      

      HTH

      0 Miglior Risposta Ringrazia Cita Rispondi

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

        Con php invece non è necessario agire su ognuna delle url.
        Supponiamo che gli indirizzi siano contenuti nella variabile $url (ricavata dalla query al db):
        [php]<?php
        echo "blabla/".substr(strstr(str_ireplace(".jpg",".html",$url),"-"),1);
        ?>
        [/php]L'ho provato e funziona :)!
        ciao!

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • F
          fabioski Bannato User Attivo • ultima modifica di

          Il formato finale potrebbe anche essere gif o png...
          E gli ID iniziali partono da 1 e vanno su...

          0 Miglior Risposta Ringrazia Cita Rispondi

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

            Il formato finale potrebbe anche essere gif o png...
            E gli ID iniziali partono da 1 e vanno su...[php]<?php
            echo "blabla/".substr(strstr(str_ireplace(".png",".html",str_ireplace(".gif",".html",(str_ireplace(".jpg",".html",$url))),"-"),1);
            ?>[/php]

            0 Miglior Risposta Ringrazia Cita Rispondi

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

              Il formato finale potrebbe anche essere gif o png...
              E gli ID iniziali partono da 1 e vanno su...[php]<?
              $url=str_ireplace(".png",".html",$url);
              $url=str_ireplace(".gif",".html",$url);
              $url=str_ireplace(".jpg",".html",$url);
              echo "blabla/".substr(strstr($url,"-"),1);?>[/php]

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • F
                fabioski Bannato User Attivo • ultima modifica di

                Bene, allora con la soluzione di probid risolvo il problema dell'estensione finale (e mi meraviglio di non averci pensato io... :D)

                Ancora non mi convince il come fare per eliminare i numeri dell'ID prima del primo "-"
                1234-foto-abc-abc.... --> foto-abc-abc...

                Avete qualche brillante intuizione come successo per l'estensione?
                Grazie!

                0 Miglior Risposta Ringrazia Cita Rispondi

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

                  La mia funzione li elimina,testata 🙂

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • F
                    fabioski Bannato User Attivo • ultima modifica di

                    @probid said:

                    Con php invece non è necessario agire su ognuna delle url.
                    Supponiamo che gli indirizzi siano contenuti nella variabile $url (ricavata dalla query al db):
                    [php]<?php
                    echo "blabla/".substr(strstr(str_ireplace(".jpg",".html",$url),"-"),1);
                    ?>
                    [/php]L'ho provato e funziona :)!
                    ciao!
                    Ho provato mettendo:
                    $url = substr(strstr(str_ireplace(".jpg",".html",$results[url_upload]),"-"),1);
                    Mi da questo errore...
                    Fatal error: Call to undefined function: str_ireplace() in /home/vhosts/blabla/var/www/html/resources/uploads.php on line 233

                    che è la riga che ho riportato

                    0 Miglior Risposta Ringrazia Cita Rispondi

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

                      Strano...probabilmente usi una versione vecchia di PHP...di che versione si tratta?

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • F
                        fabioski Bannato User Attivo • ultima modifica di

                        Non so la versione.
                        Ho usato questo codice e sembra che mi vada!!!

                        $url = substr(strstr(str_replace(".jpg",".html",$results[url_upload]),"-"),1);
                        $url=str_replace(".png",".html",$url);
                        $url=str_replace(".gif",".html",$url);
                        $url=str_replace(".jpeg",".html",$url);

                        GRAZIEEEEEEEEE

                        0 Miglior Risposta Ringrazia Cita Rispondi

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

                          @fabioski said:

                          Non so la versione.
                          :?:?

                          Bene cmq,ciao e a presto 😉

                          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