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. Espressioni regolari. Come modificare una stringa?
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • M
      marcsellier User Attivo • ultima modifica di

      Espressioni regolari. Come modificare una stringa?

      Ciao a tutti! 🙂

      Ho un piccolo problema. Devo fare in modo che inserendo in un form il codice embed dei video di Youtube, l'altezza e la larghezza dei video sia sempre uguale e stabilita da me.

      Questo è un codice di esempio di Youtube:

      
      <iframe width="560" height="315" src="ACCA TI TI PI VU VU VU.
      " frameborder="0" allowfullscreen></iframe>

      Questo è il codice che sto usando io in base ad un vecchio script che faceva la stessa cosa ma per un diverso sito di video hosting:

      
      $codice=$_POST['codice'];
      $codice=preg_replace('#width\=\"(.*?)\"#i', 'width="342"', $codice);
      $codice=preg_replace('#height\=\"(.*?)\"#i', 'height="256"', $codice);
      
      

      In pratica 560 e 315 devono essere sostituiti rispettivamente da 342 e 315...
      Il codice PHP che ho appena copiato non funziona, non so il perchè. Non sono pratico nella funzione preg_replace.
      Qualcuno sa darmi una mano postandomi il corretto codice spiegandomi magari dove sbaglio? Spero di essere stato chiaro nella spiegazione del problema :wink3:

      Grazie a tutti :gthi:

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • T
        tigrone User Attivo • ultima modifica di
        
        $codice=preg_replace("/width=\"(.*?)\"/", 'width="342"', $codice);
        $codice=preg_replace("/height=\"(.*?)\"/", 'height="256"', $codice);
        
        

        Prova così.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • M
          marcsellier User Attivo • ultima modifica di

          @tigrone said:

          
          $codice=preg_replace("/width=\"(.*?)\"/", 'width="342"', $codice);
          $codice=preg_replace("/height=\"(.*?)\"/", 'height="256"', $codice);
          
          

          Prova così.

          Così non funziona... suggerimenti??

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            tigrone User Attivo • ultima modifica di

            E invece funziona perfettamente: http://www.tuo-web.com/espr.php

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • M
              marcsellier User Attivo • ultima modifica di

              Ti ringrazio per l'esempio 🙂

              Ho scritto questo codice nel mio script:

              
              	$codice=$_POST['codice'];
              	$codice=preg_replace("/width=\"(.*?)\"/", 'width="342"', $codice);
              	$codice=preg_replace("/height=\"(.*?)\"/", 'height="256"', $codice);
              
              

              Dov'è l'errore?

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                tigrone User Attivo • ultima modifica di

                Prima di tutto: quale errore ti mostra PHP?

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • M
                  marcsellier User Attivo • ultima modifica di

                  Il problema è che non mi visualizza proprio nessun errore.
                  La varibile $codice la prelevo da questo form:

                  
                  <form method="POST" name="modulo">
                  Inserisci il codice...<br>
                  <TEXTAREA cols=78 rows=8 name="codice"><?php echo $codice; ?></textarea><br>
                  <input type="button" value="Aggiorna video" onClick="Modulo()">
                  </form>
                  
                  
                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    tigrone User Attivo • ultima modifica di

                    Fai un debug...

                    
                    $codice=$_POST['codice'];
                    **echo htmlentities($codice); exit;**
                    $codice=preg_replace("/width=\"(.*?)\"/", 'width="342"', $codice);
                    $codice=preg_replace("/height=\"(.*?)\"/", 'height="256"', $codice);
                    
                    

                    Aggiungi quella riga, esegui e vedi cosa c'è nella variabile $codice.

                    Probabilmente ci sono dei backslash...

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • M
                      marcsellier User Attivo • ultima modifica di

                      @tigrone said:

                      Fai un debug...
                      Probabilmente ci sono dei backslash...

                      Ottimo consiglio! Ieri c'avevo pensato ma poi mi è sfuggito di mente...
                      Il problema erano proprio i backslash che a questo punto ho opportunamente rimosso con stripslashes e poi riaggiunti con addslashes per salvarlo nel database mysql.

                      Grazie mille, ciao! :gthi:

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • T
                        tigrone User Attivo • ultima modifica di

                        ok ciao! :wink3:

                        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