Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590

    eliminare tag iframe (memorizzando il src)

    salve, ho una stringa che contiene un'intera pagina html con un paio di iframe all'interno.

    dovrei eliminare questi tag (ma conservarmi da qualche parte l'attributo src).

    per eliminare ho provato con str_replace e l'espressione <iframe(.*?)</iframe>.
    Ma non va.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Sto provando a vedere la documentazione di str_replace(), ma php.net non mi si apre.
    A memoria mi pare di ricordare che str_replace() non accetti espressioni regolari, quindi la tua espressione penso sia interpretata come una semplice stringa, usa preg_replace() per eliminare gli iframe.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    ma l'espressione è corretta?

    $result=preg_replace("<iframe(.*?)</iframe>","",$result);

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Stampa $result e vedi se viene fuori come ti aspetteresti.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    così com'è mi da
    Warning: preg_replace(): No ending matching delimiter '>' found

    anche aggiungendo '/' all'inizio e '/i' alla fine non risolvo..


    io credo che le regexp siano il mezzo con cui belzebù comunica con gli informatici.

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prova questo pattern
    codice:
    "(<iframe.*src=\"(.*?)\".*?/iframe>)"
    e lo usi nella preg_match_all per avere il contenuto di src e nella preg_replace per eliminare tutto quello che è compreso tra <iframe e </iframe>

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Oltre agli slash / all'inizio e alla fine, devi mettere anche \ prima di /iframe, altrimenti viene interpretato /i, che invece è parte della stringa che costituisce la regola, devi farne l'escape.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    ok il codice di clasku funge. per recuperare il src magari mi faccio il DOMDocument.
    grazie dell'attenzione, buonanotte.

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ce l'hai già il src se usi preg_match_all...

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    mi sapresti fare un esempio che fa al caso mio, please?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.