Visualizzazione dei risultati da 1 a 9 su 9

Discussione: eregi_replace()

  1. #1

    eregi_replace()

    Salve a tutti!
    Ho la necessità di eliminare dalla classica stinga dei video di youtube, tipo questa:
    codice:
    <object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/UNvCsBfrB_M&hl=it"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/UNvCsBfrB_M&hl=it" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>
    tutto il codice tranne la parte racchiusa tra i tag <embed>, quindi la stringa dovrebbe risultare:
    codice:
    <embed src="http://www.youtube.com/v/UNvCsBfrB_M&hl=it" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed>
    Avevo quindi pensato di utilizzare le espressioni regolari e la funzione eregi_replace() in questo modo:
    Codice PHP:
    $video_thumbs eregi_replace("^\<object.\<\/param\>$","",$video_thumbs); 
    per eliminare almeno la prima parte del codice, poi per l'ultimo </object> posso utilizzare tranquillamente str_replace().

    Potete aiutarmi?

  2. #2
    codice:
    list($a,$stringa,$b) = explode("embed",$stringa);
    $stringa = "<embed $stringa embed>";
    guarda, questa è una delle soluzioni che mi viene in mente, sicuramente non è quella più "delicata", ma credo funzioni.

  3. #3
    Codice PHP:
    $x='<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/UNvCsBfrB_M&hl=it"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/UNvCsBfrB_M&hl=it" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>';

    preg_match("#<embed .*></embed>#iU",$x,$m);
    echo 
    $m[0]; 
    Fidatevi del dottor Auz!
    http://dottorauz.blogspot.com

  4. #4
    Ti faccio una domanda io...
    ho una stringa che viene passata tramite POST.

    Questa:

    codice:
    <iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.it/maps?f=q&amp;hl=it&amp;geocode=&amp;q=via+pier+giovanni+rizzo+san+pietro+vernotico&amp;sll=41.442726,12.392578&amp;sspn=9.386178,17.666016&amp;ie=UTF8&amp;z=14&amp;iwloc=addr&amp;ll=40.490761,18.002644&amp;output=embed&amp;s=AARTsJpW-5eOS7EGOesCd7GKZNDquLf4jg"></iframe>
    Visualizzazione ingrandita della mappa
    (viene passata con le virgolette)

    Io vorrei ricavarne solo questo (il parametro SRC, in sostanza):
    codice:
    http://maps.google.it/maps?f=q&amp;hl=it&amp;geocode=&amp;q=via+pier+giovanni+rizzo+san+pietro+vernotico&amp;sll=41.442726,12.392578&amp;sspn=9.386178,17.666016&amp;ie=UTF8&amp;z=14&amp;iwloc=addr&amp;ll=40.490761,18.002644&amp;output=embed&amp;s=AARTsJpW-5eOS7EGOesCd7GKZNDquLf4jg
    come posso fare?

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    io ho buttato giù questo, sicuramente esistono soluzioni migliori...

    Codice PHP:
    <?php

    $stringa
    ='<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.it/maps?f=q&hl=it&geocode=&q=via+pier+giovanni+rizzo+san+pietro+vernotico&sll=41.442726,12.392578&sspn=9.386178,17.666016&ie=UTF8&z=14&iwloc=addr&ll=40.490761,18.002644&output=embed&s=AARTsJpW-5eOS7EGOesCd7GKZNDquLf4jg"></iframe>
    [size="1"][url="http://maps.google.it/maps?f=q&hl=it&geocode=&q=via+pier+giovanni+rizzo+san+pietro+vernotico&sll=41.442726,12.392578&sspn=9.386178,17.666016&ie=UTF8&z=14&iwloc=addr&ll=40.490761,18.002644&source=embed"]Visualizzazione ingrandita della mappa[/url][/size]'
    ;

    eregi("src(.+)\"><"$stringa$estrai);

    $scrivisubstr($estrai[0],5,-3);

    echo 
    $scrivi;
    ?>

  6. #6
    ti ringrazio!
    ank'io avevo trovato una soluzione del genere.

    purtroppo come stringa funziona, cioè...se la definisco prima.

    ma se passata come POST, no $stringa = $_POST[stringa];

    ...

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    non ho capito...

    tu ricevi la variabile come POST? e una volta che la ricevi non riesci a lavorarla?

  8. #8
    Proprio così.

    Utilizzo questo codice:

    codice:
    $mappa = $_POST[mappa];
    echo "<script>alert('$mappa')</script>";
    eregi("src(.+)\"><", $mappa, $estrai); 
    $mappa = substr($estrai[0],5,-3); 
    echo "<script>alert('$mappa')</script>";
    il primo alert lo visualizza, e corrisponde esattamente alla variabile (vedi allegato). il secondo no... quindi il sistema va in tilt.
    Immagini allegate Immagini allegate

  9. #9
    Ho risolto così, ma continuo a non capire il motivo dell'errore nel tuo codice (ke è molto più pulito del mio):

    codice:
    /* SISTEMO MAPPA */
    $mappa = substr($mappa,115); 
    list($mappa,$nulla) = explode('></iframe>',$mappa);
    $mappa = substr($mappa,0,-2);
    /* SISTEMO MAPPA */

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.