• Bannato User

    Aiuto funzione di stringa

    Ciao a tutti, spero che qualcuno di voi riesca a risolvermi questo problema.

    Ho creato un file art_jpg.php che genera un immagine secondo i parametri:
    s = percorso src
    w = larghezza
    h = altezza

    Quindi un immagine di questo tipo:
    <img src="immagini/pippo.jpg" width="40" height="100">

    Può essere generata anche dal codice:
    <img src="art_jpg.php?w=40&h=100&s=immagini/pippo.jpg">

    Il mio problema è che ho una serie di contenuti letti in un database, con delle immagini. Vorrei che durante la lettura attranverso qualche funzione di stringa, il codice nel primo esempio, venisse trasformato come nel secondo.

    Ho provato con qualcosa tipo eregi_replace(), ma il mio tag sorgente non è sempre uguale, quindi non riesco a gestirlo facilmente.

    Questi sono alcuni esempi di immagini che mi trovo inserite nelle mia variabili di contenuto:

    <img width="20" src="includes/tiny_mce/plugins/filemanager/files/gif/new034.gif" alt=" " height="15" />
     
    <img width="150" src="includes/tiny_mce/plugins/filemanager/files/immagini/napoli/vari/napoli_09.jpg" alt="Napoli" height="112" />
     
    <img border="1" class="second" align="right" width="120" src="includes/tiny_mce/plugins/filemanager/files/immagini/sicilia/maiorana_antonio.jpg" hspace="5" alt="Antonio Maiorana, l'imprenditore palermitano scomparso assieme al figlio Stefano" height="148" />
     
    <img width="140" src="includes/tiny_mce/plugins/filemanager/files/immagini/6_vari/brogli.jpg" alt="Brogli" height="124" style="width: 140px; height: 124px" />
     
    <img border="1" class="second" align="left" width="120" src="includes/tiny_mce/plugins/filemanager/files/immagini/3_loghi/trofeo_moretti2007.jpg" hspace="5" alt="Trofeo Birra Moretti 2007" height="150" />
    

    Quello che sono riuscito a fare fino adesso è questo:

      // Manipolo l'immagine della hometext
      eregi("width=\"([0-9]+)\"", $hometext, $w); // Estraggo le cifre della larghezza
      eregi("height=\"([0-9]+)\"", $hometext, $h); // Estraggo le cifra dell'altezza
     
      $width = $w[1];
      $height = $h[1];
     
      $hometext = eregi_replace("src=\"([a-z0-9_\-\./ ]+)\"", "src=\"art_jpg.php?h=$height&w=$width&s=\\1\"", $hometext);
    
    

    Ma non va bene perchè dalla seconda immagine in poi, il src riportato è esatto, ma le dimensioni restano quelle della prima img, sballandomi le altre.

    Spero che qualcuno possa aiutarmi a risolvere questo problemaccio.