Visualizzazione risultati 1 fino 1 di 1

Discussione: [RegExp] Aggiungere tag <p> alle immagini [RISOLTO]

  1. #1
    L'avatar di darkwolf
    darkwolf non è connesso Super Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,552

    Predefinito [RegExp] Aggiungere tag <p> alle immagini [RISOLTO]

    Salve raga :)
    Per fissare un problema di visualizzazione negli rss (l'rss reader di firefox ignora sia il float che il display: block; alle immagini) stavo pensando di rimediare racchiudendo le immagini tra paragrafi:
    Codice:
    <img * />
    dovrebbe diventare:
    Codice:
    <p><img * /></p>
    Ho provato a smanettarci un po' ma senza ottenere grandi risultati (sono in blocco stamani ).
    Potete darmi una mano?
    Grazie anticipatamente, DarkWolf

    Edit:
    Dopo varie prove, non so nemmeno come, ma ho risolto così:
    Codice PHP:
    $cdata = preg_replace( "`(\<img (.*?) \/>)`is", "<p>$1</p>",$cdata);
    Inoltre ho cambiato il float con display: block (l'rss reader di ie8 mi ignorava il <p> ma vedeva il float) e quindi:
    Codice PHP:
    // Fix IMG - change float to block for IE
    $float = ' style="float: left; ';
    $block = ' style="display: block; ';
    $cdata = str_replace($float, $block, $cdata);
    // Add <p>*</p> for firefox
    $cdata = preg_replace( "`(\<img (.*?) \/>)`is", "<p>$1</p>",$cdata);
    Insomma, da float a block e con l'aggiunta del <p> si vede perfetto sia con IE che con Firefox; Safari; Chrome e il resto :)

    -
    Riedit:
    Ho notato che così facendo, giustamente, "tutte" le immagini venivano inserite tra i paragrafi e data la struttura dei miei feed/articoli ho rimediato così:
    Codice PHP:
    $cdata = preg_replace( "`(\<img style=\"display: block; (.*?) \/>)`is", "<p>$1</p>",$cdata);
    Ultima modifica di darkwolf : 01-02-2010 alle ore 13.04.55
    » Salvatore Noschese - L'AltroWeb | Seguimi su: facebook | twitter | Google+
    # Che aspetti? Unisciti alla community! Tanti nuovi gruppi ti aspettano


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •