Vraag & Antwoord

Webprogrammeren & scripting

[php] Inlezen tekstfile, maar slechts een deel presenteren

Anoniem
weatherboys
2 antwoorden
  • Ik probeer een bestand ('test.html') in te lezen. Dit bestandje bestaat helaas nog uit een stukje tekst en daarna pas het HTML-deel (dus beginnend met <HTML> of met <!DOCTYPE ……..etc).

    Wat ik wil met dit script is van test.html alleen het deel via IE (of een andere browser) dat begint van <HTML> resp. <!DOCTYPE…> presenteren.

    Ik heb nu het volgende stukje script, maar ik loop nu helemaal vast (ben al 2 avonden bezig op waarschijnlijk iets heel simpels).

    <?php
    $file = 'test.html';
    $handle = fopen($file, 'r');
    if ($file)
    {
    while(!feof($handle))
    {
    $regels = fread($handle, 8096);
    }

    $regexp = '\<HTML\>';
    list($text, $html) = split($regexp, $regels);
    echo $html;

    fclose($handle);}
    else
    {
    die( "fopen failed for $file" ) ;
    }
    ?>

    Vanwege het testen staan de html-file en het php-script in dezelfde directory…


    Groeten,
    John
    P.S: houd er svp rekening mee dat ik nog maar een beginner ben :wink:
  • Ik heb het even anders aangepakt.
    [code:1:b70c572b7b]
    <?php
    $file = 'test.html';

    if (file_exists($file))
    {
    $text = file_get_contents($file);

    $index = strpos(strtoupper($text), '<!DOCTYPE');
    if ($index === false) $index = strpos(strtolower($text), '<html');
    echo substr($text, $index);
    }
    else
    {
    echo $file, " does not exist.";
    }
    ?>
    [/code:1:b70c572b7b]

    btw. php5 heeft ook een case-insensitive functie om de positie van een string te bepalen (stripos).

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.