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

    Ottenere contenuto <body> di una pagina

    Salve,

    Ho un problema con l'ottenere il contenuto di una pagina html.

    La pagina in questione è così composta:
    codice HTML:
    <html>
    <head></head>
    </body>error</body>
    </html>
    e si chiama testerror.html

    Questo è invece lo script PHP incriminato che non ne vuole sapere di funzionare:

    Codice PHP:
    <?php
    $ch 
    curl_init('http://domain.com/testerror.html');
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
     
    $text curl_exec($ch);
    preg_match('~<body[^>]*>(.*?)</body>~si'$text$body);
    echo 
    $body[1];
    ?>
    Se stampo $text mi da come output "errore" come giusto che sia.

    Se stampo $body[1] mi da output vuoto, perchè?

    EDIT:

    Mi sono accorto che in realtà la pagina che vado a richiedere è così composta:

    "errore"

    praticamente non ha tag html, come faccio a fare un controllo su quella stringa?

    Grazie in anticipo!
    Ultima modifica di Deathlok92; 08-05-2014 a 22:35 Motivo: Aggiunta Informazioni

  2. #2
    Non capisco di che controllo parli. E' ovvio che non ti dia i tag HTML dato che puoi recuperare solamente il contenuto che vedresti a video per cui, se la pagina è formata come hai descritto all'inizio, non hai bisogno di niente altro, la variabile $text conterrà già ciò che ti occorre.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    In realtà il problema era un altro, avevo da fare un utf8_decode($text) perchè mi venivano inseriti caratteri BOM dentro la stringa.

    Adesso funziona benone

  4. #4
    Ovviamente era troppo semplice... adesso ho un problema un po' rognoso...

    Nel mio documento html c'è questa parte di codice:

    codice HTML:
     <!-- Wrap all page content here -->
        <div id="wrap">
          <!-- Begin page content -->
          <div class="container">Cannot execute query database is locked
    Come faccio a recuperare come stringa "Cannot execute query database is locked" in modo da poterci fare un if sopra?

    PS: io ho il codice esattamente così, senza i tag di chiusura. Se no potevo sfruttare lo stesso metodo del body.

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    una cosa tipo questa dovrebbe funzionare
    Codice PHP:
    $text '<!-- Wrap all page content here -->
        <div id="wrap">
          <!-- Begin page content -->
          <div class="container">Cannot execute query database is locked'
    ;

    $find '<div class="container">';

    $result substr($textstrpos($text$find) + strlen($find)); 

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.