- Home
- Categorie
- Coding e Sistemistica
- Coding
- Espressioni regolari. Come modificare una stringa?
-
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
Grazie a tutti

-
$codice=preg_replace("/width=\"(.*?)\"/", 'width="342"', $codice); $codice=preg_replace("/height=\"(.*?)\"/", 'height="256"', $codice);Prova così.
-
@tigrone said:
$codice=preg_replace("/width=\"(.*?)\"/", 'width="342"', $codice); $codice=preg_replace("/height=\"(.*?)\"/", 'height="256"', $codice);Prova così.
Così non funziona... suggerimenti??
-
E invece funziona perfettamente: http://www.tuo-web.com/espr.php
-
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?
-
Prima di tutto: quale errore ti mostra PHP?
-
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>
-
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...
-
@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!

-
ok ciao!
