textbestand filteren met PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nico V.

Nico V.

24/09/2009 23:12:00
Quote Anchor link
Hallo, ik heb hier een tekstbestand met de naam beschrijving.php
ik wil hierin filteren afhankelijk van het begin van een regel. bijvoorbeeld

De variabele $max heeft als waarde 3
In het bestand zijn de volgende regels opgenomen

1. Hallo wereld
3. Test regel
4. Werkt dit?

Nu wil ik er voor zorgen dat regel 3 wordt weergegeven, liefst zonder de 3. maar dat kan ik er altijd later tussen uit filteren.

Ik heb vanalles geprobeerd met fopen en fread maar ik kom er niet uit, en hoofdpijn is niet bepaald stimulerend blijkbaar

Hulp zou erg gewaardeerd worden

Vriendelijke groet, Nico

ps. goed om weer terug te zijn hier

Edit:
Ik heb het inmiddels wel voor elkaar met regelnummers, maar dit is geen ideale oplossing omdat ik ook wel eens nummers over wil slaan
iemand een idee?
Gewijzigd op 01/01/1970 01:00:00 door Nico V.
 
PHP hulp

PHP hulp

22/12/2024 08:06:52
 
Jan Willem van der Veer

Jan Willem van der Veer

25/09/2009 09:51:00
Quote Anchor link
Voor het geval je lui bent (zonder fread en poespas):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

$max
= 3;
$sSentenceStart = strval($max).'.';
$sFile = 'bestand.txt';
if(is_file($sFile) && ($aContent = file($sFile))){
  foreach($aContent as $sSentence) if(substr($sSentence, 0, strlen($sSentenceStart)) == $sSentenceStart) echo trim(substr($sSentence, strlen(sSentenceStart)); # Dan is dit de regel die je wilt hebben
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Willem van der Veer
 
Nico V.

Nico V.

25/09/2009 13:04:00
Quote Anchor link
Ik krijg nu een leeg scherm, hetgeen in MAMP meestal betekend dat er iets niet goed gaat, ik tel als het goed is verschillende loops namelijk 2 IF's en een FOREACH. Ik heb deze tags allemaal weer gesloten zoals het hoort maar nog steeds geen beeld. Wat gaat er hier verkeerd.

ps. Mijn andere PHP scripts worden wel geladen en gedraaid
 
- SanThe -

- SanThe -

25/09/2009 13:11:00
Quote Anchor link
Er mist een $ en een ) op regel 7.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$max
= 3;
$sSentenceStart = strval($max).'.';
$sFile = 'bestand.txt';
if(is_file($sFile) && ($aContent = file($sFile)))
{

    foreach($aContent as $sSentence)
    {

        if(substr($sSentence, 0, strlen($sSentenceStart)) == $sSentenceStart)
        {

            echo trim(substr($sSentence, strlen($sSentenceStart))); # Dan is dit de regel die je wilt hebben
        }
    }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Tristan nvt

Tristan nvt

25/09/2009 13:21:00
Quote Anchor link
En de functie substr hoeft geen 3e parameter te hebben.
 
Jan Willem van der Veer

Jan Willem van der Veer

25/09/2009 16:41:00
Quote Anchor link
Quote:
En de functie substr hoeft geen 3e parameter te hebben.
Dus? Kun je even uitleggen wat je er mee bedoelt? Dat het er niet drie hoeven te zijn bewijst onze code volgens mij ook al :)

@SanThe:
Bedankt voor de verbetering, was er even tussendoor geglipt bij het bijwerken van de post gezien ik achteraf pas op het idee kwam om ook nog even het nummer voor hem er uit te filteren.
Gewijzigd op 01/01/1970 01:00:00 door Jan Willem van der Veer
 
Tristan nvt

Tristan nvt

29/09/2009 14:16:00
Quote Anchor link
Quote:
Dus? Kun je even uitleggen wat je er mee bedoelt? Dat het er niet drie hoeven te zijn bewijst onze code volgens mij ook al :)


Dat ik overal strlen als 3e argument zie :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.