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

    Convertire link relativi in assoluti

    ho uno script che legge una pagina remota su cui io non ho controllo e mi avvisa per e-mail se questa cambia... abbastanza smeplice...

    nell'avviso per e-mail mi mando praticamente il sorgente della pagina in questione.. ma chiaramente i link parziali non vanno (e con essi css e img)... dovrei dunque convertire, prima dell'invio, tutti i src e href da relativi ad assoluti...

    Mi pare che basti che ogni
    src="file_o_path_relativo"
    diventi
    src="http://server/diirbasedellapagina/file_o_path_relativo"

    e similmente per gli href....
    giusto?

    Allora.. espresisoni regolari, lo so... il punto è che non ci sono ferrato..
    qualche anima pia me le scriverebbe?


  2. #2
    mi sono armato di pazienza e me la sono fatta alla emno peggio......

    Codice PHP:
    function rel2abs($html,$base)
    {

      
    $regexp '/(src=(\'|")(.*)(\'|"))/';
      
    $replace "src=$2$base$3$4";
      
    $html preg_replace($regexp$replace$html);

      
    $regexp '/(href=(\'|")([^http].*)(\'|"))/';
      
    $replace "href=$2$base$3$4";
      
    $html preg_replace($regexp$replace$html);

      return 
    $html;
    }

    $testo file('prova.html');
    $testo implode('',$testo);
    echo 
    rel2abs($testo,'http://www.indirizzobase.it/'); 
    può essere infinitamente migliorata ma per quello che serve a me ora nell'immediato va bene

    notare come quella per gli href operi solo su path che non comincino per http... mentre per le immagini non ho capito perchè non funziona sta cosa

    inoltre non tengo conto di path che iniziano per "/" (mi viene fuori una cosa tipo "www.indirizzobase.it//pathestratto" nè di altra eventuale roba da controllare per rendere la pagina fedele all'originale

    A me va anche bene così per ora.. ma se avete voglia di sistemarla...

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.