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

    Estrapolare testo da una pagina web e verificare se esiste un determinato valore

    Ciao a tutti, ho estrapolato il titolo di una pagina web come segue, ma non riesco a verificare se un determinato valore esiste o meno nella pagina.. Il codice che ho usato :

    codice:
    <?php
    $sorgente = file_get_contents("http://www.microsoft.com/it-it/default.aspx"); 
    
    
    if (eregi('<title>(.+)</title>',$sorgente,$regs))
        echo $regs[1];
    
    
    $parola = "Italia";
    echo (strpos($parola, $regs[1])===TRUE) ? 'No' : 'Si' ;
    ?>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,920
    Prima cosa: usa preg_match() e non eregi() che deprecata.

    Prova cos
    Codice PHP:
    if (preg_match('/<title>(.+)<\/title>/',$sorgente,$regs))
        echo 
    $regs[1]."<br />";


    $parola "Italia";
    echo (
    strpos($parola$regs[1]) !== FALSE) ? 'Si' 'No' 

  3. #3
    Grazie per la dritta, funziona tutto, ma con quei siti il cui protocollo https, ottengo questi errori:


    Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in

    Warning: file_get_contents(): Failed to enable crypto in

    Warning: file_get_contents(): failed to open stream: operation failed


    Nel frattempo sono andato avanti cercando una soluzione ma non trovo granch..

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,920
    Dipende dalle impostazioni del server, evidentemente https non nell'elenco degli wrapper consentiti.
    Se hai accesso alle impostazioni del server puoi rimediare, altrimeni non puoi farci niente e devi provare ad usare cURL invece di file_get_contents().

    Per informazioni puoi leggere qui.

  5. #5
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,866
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Dipende dalle impostazioni del server, evidentemente https non nell'elenco degli wrapper consentiti.
    Se hai accesso alle impostazioni del server puoi rimediare, altrimeni non puoi farci niente e devi provare ad usare cURL invece di file_get_contents().
    Ma il problema sul server da cui parte la richiesta o su quello che la riceve?

    Chiedo perch di punto in bianco mi uscito lo stesso Warning da uno script che ha sempre fatto il suo dovere

    codice:
    Warning:  file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in...
    Errare humanum est, perseverare ovest

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,920
    Quote Originariamente inviata da carlo2002 Visualizza il messaggio
    Ma il problema sul server da cui parte la richiesta o su quello che la riceve?
    Da quello di partenza.

  7. #7
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    83
    il codice funziona bene (http e https), verifica le impostazione del file php.ini sul server dove avvii lo script.

    extension=php_openssl.dll
    allow_url_fopen = On


    codice:
    $sorgente = file_get_contents("https://www.html.it"); 
    
    if (preg_match('/<title>(.+)<\/title>/',$sorgente,$regs))
        echo $regs[1]."<br />";
        
    $title = strtolower($regs[1]);
    $parola = "italia";
    
    echo (strpos($title,$parola) !== FALSE) ? 'Si' : 'No' ;
    Ultima modifica di ninja72; 30-05-2020 a 22:38

  8. #8
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,866
    allow_url_fopen su On

    open SSL sembra a posto (in immagine)
    Immagini allegate Immagini allegate
    Errare humanum est, perseverare ovest

  9. #9
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,866
    Tutto ha funzionato per un mesetto di test in cui la pagina stata visualizzata circa 200 volte, poi ho annunciato al pubblico e ci sono state 1.500 visualizzazioni in due giorni.
    Non che ci possono essere delle limitazioni? Lo script gira su Aruba.
    Errare humanum est, perseverare ovest

  10. #10
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    83
    prova a verificare i log del server https://guide.hosting.aruba.it/hosti...og-errori.aspx
    magari riesci a capire meglio da cosa dipende.

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