Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Implode e link

  1. #1

    Implode e link

    codice:
    <?php  
    $contenuto = implode('', file('http://www.miosito.it/index.htm'));  
    preg_match("/parolainizio(.*?)parolafine/is", $contenuto, $array);  
    //print_r($array);
    echo $array[1];
    ?>
    Con questo codice è possibile prendere un pezzo di codice da una pagina e visualizzarlo in un'altra.....però i link non funzionano...ovvero si funzionano, ma cercano la pagina nello stesso dominio...qualcuno (michele albano) era riuscito a rendere i link e le immagini relativi al sito "fonte" però disgraziatamente ho perso il codice modificato e perso i contatti....qualcuno sa aiutarmi?
    <<Non esistono domande stupide, ma stupidi che non fanno domande>>
    :: www.funivie.org :: Il sito italiano sugli impianti a fune ::

  2. #2
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    non sei molto chiaro... cerca di spiegarti meglio, il problema è nella prima riga? non ti apre il file che risiede su un server diverso?

  3. #3
    Facciamo un esempio:


    Alla pagina http://www.miosito.it/index.htm c'è un link interno ad una pagina che si chiama seconda.htm

    Se io, tramite lo script qui sopra, includo la pagina index.htm nel sito ad esempio prova.com, cliccando sul link a seconda.htm la pagina seconda.htm viene cercata in prova.com e non in miosito.it......abbastanza complicato....se non capisci cosi ti carico un esempio...
    <<Non esistono domande stupide, ma stupidi che non fanno domande>>
    :: www.funivie.org :: Il sito italiano sugli impianti a fune ::

  4. #4
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    capito, beh il problema non è tanto semplice, devi riscrivere tutti gli indirizzi relativi presenti in quella pagina tralasciando quelli assoluti...

    dovresti avere lo stesso problema con le immagini no?

    dovresti provare con le espressioni regolari

  5. #5
    Ma quel michele me l'aveva risolto in una riga......

    Fa lo stesso problema con le immagini si...ma quelle basta caricarle anche nel secondo sito....
    <<Non esistono domande stupide, ma stupidi che non fanno domande>>
    :: www.funivie.org :: Il sito italiano sugli impianti a fune ::

  6. #6
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    sisi è solo una riga... prova questa:

    $contenuto = preg_replace('/(href|src)="(.*?)"/i', '$1="http://miosito/$2"', $contenuto);

    xò questa parsa tutti i link, relativi ed assoluti, se un link è assoluto combina un macello


    corregge anche gli indirizzi delle immagini

  7. #7
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    $contenuto = preg_replace('/(href|src)="[^/http:\/\//](.*?)"/i', '$1="http://miosito/$2"', $contenuto);

    rivista l'espressione regolare, ora funge con qualsiasi link, ignorando quelli assoluti

  8. #8
    Il primo funziona:

    codice:
    <?php  
    
    $contenuto = implode('', file('http://www.sitoesterno.com/ppagina.htm'));  
    
    $contenuto = preg_replace('/(href|src)="(.*?)"/i', '$1="http://www.sitoesterno.com/$2"', $contenuto); 
    
    preg_match("/(.*?)/is", $contenuto, $array);  
    
    echo $array[1];
      
    ?>
    Il secondo mi da errore
    Warning: Unknown modifier 'h' in C:\Webserver\htdocs\webs\prova.php on line 5 Notice: Undefined offset: 1 in C:\Webserver\htdocs\webs\prova.php on line 11
    <<Non esistono domande stupide, ma stupidi che non fanno domande>>
    :: www.funivie.org :: Il sito italiano sugli impianti a fune ::

  9. #9
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    codice:
    $contenuto = preg_replace('/(href|src)="[^/http:\/\//](.*?)"/i', '$1="http://miosito/$2"', $contenuto);
    che errore?? ho provato il codice prima di postare, prova a quotare il mio messaggio e ha copiare da li, il forum combina casini con gli slash

  10. #10
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    Originariamente inviato da Dolomites
    Il primo funziona:

    codice:
    <?php  
    
    $contenuto = implode('', file('http://www.sitoesterno.com/ppagina.htm'));  
    
    $contenuto = preg_replace('/(href|src)="(.*?)"/i', '$1="http://www.sitoesterno.com/$2"', $contenuto); 
    
    preg_match("/(.*?)/is", $contenuto, $array);  
    
    echo $array[1];
      
    ?>
    Il secondo mi da errore
    Warning: Unknown modifier 'h' in C:\Webserver\htdocs\webs\prova.php on line 5 Notice: Undefined offset: 1 in C:\Webserver\htdocs\webs\prova.php on line 11
    uhm... versione di php? prova con
    codice:
    $contenuto = preg_replace('!(href|src)="[^/http:\/\//](.*?)"!i', '$1="http://miosito/$2"', $contenuto);

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.