textbestand filteren met 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.
Code (php)
1
2
3
4
5
6
7
8
9
10
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
}
?>
$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
ps. Mijn andere PHP scripts worden wel geladen en gedraaid
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
}
}
}
?>
$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 -
En de functie substr hoeft geen 3e parameter te hebben.
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 :)En de functie substr hoeft geen 3e parameter te hebben.
@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
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 :)