Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    modificare tag html all'interno di una tabella

    Ciao a tutti,

    ho del contenuto html vario in una variabile php.

    Dovrei modificare il tag <img> ma solo delle <img> che sono contenute nelle tabelle, mentre le immagini che sono sparse per il resto del contenuto html devono rimanere come sono.

    Se utilizzo questo script, naturalmente mi viene aggiunta la classe a tutte le immagini

    Codice PHP:

    $html 
    str_replace("<img ""<img class=\"mia_classe\" "$html); 
    Come posso fare ?!
    Grazie a tutti per l'aiuto!
    Ultima modifica di aquatimer2000; 15-03-2018 a 13:59
    aquatimer2000

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Puoi usare un dom parser tipo questo: https://github.com/paquettg/php-html-parser

  3. #3
    PHP ha un "parser" nativo, se ne è parlato di recente in questa discussione.

  4. #4
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    PHP ha un "parser" nativo, se ne è parlato di recente in questa discussione.
    ho dato una letta sia alla discussione postata sia manuale php, ma non sono molto pratico, quindi, riepilogo quello che ho fatto, e quello che invece mi manca da fare:


    Codice PHP:
    /* ho del contenuto HTML in una variabile PHP,
    devo leggere il contenuto della variabile, aggiungere una classe a tutte le immagini contenute nella tabelle (se ci sono..)

    salvare il nuovo contenuto in una variabile, e stamparlo a video
    */

    //.. qui recupero il contenuto HTML e lo salvo in una variabile $html

    $dom = new DOMDocument();$dom->loadHTML($html);

    $table $dom->getElementsByTagName('table');
    /*
    qui dovrei cercare tutti i tag 'img' figli di table, ma non so come fare, e ad ognuno dovrei aggiungere la classe "mia_classe", e salvare il nuovo contenuto in una variabile $html_modificato
    */

    print "$html_modificato"
    praticamente non so come trovare i tag 'img', figli di ogni 'table' (potrebbero esserici una o più table)
    aquatimer2000

  5. #5
    In questa discussione sono proposte diverse soluzioni
    https://stackoverflow.com/questions/...elegant-manner

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