[PHP] if (blanke regel) then " "

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Pascal Saul
  • Registratie: Augustus 2001
  • Laatst online: 07-07 17:03
Ik moet dus na het inlezen van een bestand wat opdrachten uitvoeren. Het gaat nu om de blanke regels te vervangen. Ik heb al wat gezocht en geprobeerd maar kom er niet uit. Overigens moet bron.txt in originele opmaak blijven anders wordt de opmaak verneukt.

bron.txt
code:
1
2
3
4
5
18-11-2003  12:09:27  Badminton Competitie   District Oost

Denekamp 2         - Flits 1                 5-3

B.Hfdkl.afd.1      Team          gesp. pntn voor tegen


Na het inlezen van bron.txt
code:
1
2
3
4
5
6
7
8
9
10
11
In browser...
18-11-2003  12:09:27  Badminton Competitie   District Oost
Denekamp 2         - Flits 1                 5-3
B.Hfdkl.afd.1      Team          gesp. pntn voor tegen

HTML bron...
<pre>18-11-2003  12:09:27  Badminton Competitie   District Oost<br></pre>
<pre><br></pre>
<pre>Denekamp 2         - Flits 1                 5-3<br></pre>
<pre><br></pre>
<pre>B.Hfdkl.afd.1      Team          gesp. pntn voor tegen<br></pre>


doormiddel van deze php code
PHP:
1
2
3
4
for($i = 0; $i < count($stand); $i++)
{
print "<pre>$stand[$i]<br></pre>";
}


Nu moet
code:
1
<pre><br></pre>

vervangen worden door
code:
1
<pre>&nbsp;<br></pre>


doormiddel van dit stukje
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
for($i = 0; $i < count($stand); $i++)
{
    if (blanke regel) (
        print "<pre>&nbsp;<br></pre>";
    }
    else if (iets anders) {
        print "<pre>iets anders<br></pre>";
    }
    else {
        print "<pre>$stand[$i]<br></pre>";
    }
}


Ik heb wat geprobeerd met:
isset
empty
count
size

Maar dit had geen succes :/

Acties:
  • 0 Henk 'm!

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08 14:36
if (trim($stand[$i])=='') {

| Toen / Nu


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
of
PHP:
1
2
3
4
if (empty ($stand[$i]))
{
    $stand[$i] = "&nbsp;";
}

Acties:
  • 0 Henk 'm!

  • Pascal Saul
  • Registratie: Augustus 2001
  • Laatst online: 07-07 17:03
Inderdaad :) nu kan ik wat met de blanke regel doen...

code:
1
2
3
4
5
6
7
18-11-2003  12:09:27  Badminton Competitie   District Oost


 Denekamp 2         - Flits 1                 5-3


 B.Hfdkl.afd.1      Team          gesp. pntn voor tegen


Alleen zit er nu weer wat te veel wit tussen :X

PHP:
1
2
3
4
    if (trim($stand[$i])=='')
    {
    print "<pre>&nbsp;<br></pre>";
    }


Blijkbaar is de parsing niet hoe ik wil .. bah.. ben iig al iets verder
en dat !empty werkt niet...

Acties:
  • 0 Henk 'm!

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08 14:36
Empty($var) is in dit geval niet aan te raden. Empty($var) geeft namelijk ook true als $var="0".

| Toen / Nu


Acties:
  • 0 Henk 'm!

  • Pascal Saul
  • Registratie: Augustus 2001
  • Laatst online: 07-07 17:03
SuperRembo schreef op 22 november 2003 @ 21:55:
Empty($var) is in dit geval niet aan te raden. Empty($var) geeft namelijk ook true als $var="0".
Inderdaad was ook van plan verder te gaan met trim..
Nu hoop ik alleen dat ik in plaats van visueel 2 wit regels nu zie daar alsnog 1 van te kunnen maken :/

Acties:
  • 0 Henk 'm!

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
offtopic:
wie ben je? ik heb ook bij Denekamp gebadmintond net zoals mijn ouders en m'n broertje? (Riky & Bennie, en ik ben Chris).

Acties:
  • 0 Henk 'm!

Verwijderd

DarkRider schreef op 22 november 2003 @ 21:49:
[...]
Alleen zit er nu weer wat te veel wit tussen :X

PHP:
1
2
3
4
    if (trim($stand[$i])=='')
    {
    print "<pre>&nbsp;<br></pre>";
    }
de <br> uit de regel slopen.

Acties:
  • 0 Henk 'm!

Verwijderd

VRAAG MODE: waarom doe je voor elke regel <PRE> ?
(TIP: het kan ook in een 'blok' :) )

ANTWOORD:
1: vervang 2 <br>'s door 1, met een str_replace functie
2: zo (voorbeeldje)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
echo "<pre>\r\n";
$vorige_regel_ook_al_blank=false;
for($i = 0; $i < count($stand); $i++)
{
    if (trim($stand[$i])=='')
    {
        if (!$vorige_regel_ook_al_blank)
            echo "&nbsp;\r\n"; //BTW .. waarom de spatie?
        $vorige_regel_ook_al_blank=true;
    }
    else
    {
        echo "$stand[$i]\r\n";
        $vorige_regel_ook_al_blank=false;
    }
}
echo "</pre>\r\n";

Acties:
  • 0 Henk 'm!

  • Pascal Saul
  • Registratie: Augustus 2001
  • Laatst online: 07-07 17:03
/dev/null schreef op 22 november 2003 @ 23:55:
offtopic:
wie ben je? ik heb ook bij Denekamp gebadmintond net zoals mijn ouders en m'n broertje? (Riky & Bennie, en ik ben Chris).
Eehh nee, ik heb gewoon de bovenste regels uit het tekstbestand gehaald ;)
Ik speel bij DBC :)
Verwijderd schreef op 23 november 2003 @ 02:44:
VRAAG MODE: waarom doe je voor elke regel <PRE> ?
(TIP: het kan ook in een 'blok' :) )

ANTWOORD:
1: vervang 2 <br>'s door 1, met een str_replace functie
2: zo (voorbeeldje)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
echo "<pre>\r\n";
$vorige_regel_ook_al_blank=false;
for($i = 0; $i < count($stand); $i++)
{
    if (trim($stand[$i])=='')
    {
        if (!$vorige_regel_ook_al_blank)
            echo "&nbsp;\r\n"; //BTW .. waarom de spatie?
        $vorige_regel_ook_al_blank=true;
    }
    else
    {
        echo "$stand[$i]\r\n";
        $vorige_regel_ook_al_blank=false;
    }
}
echo "</pre>\r\n";
Yihaa! You're the man! Nu heb ik dus zoals ik het wil :) Ik was er zelf niet bij gekomen.. maar dat komt waarschijnlijk door mij ervaring met php.. al doende leert men. Dat van die pre tag dacht ik later zelf ook aan... maakt in principe niks uit als die er wel of niet staat scheelt alleen aan code >:)

Acties:
  • 0 Henk 'm!

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 17-09 06:59

Eelke Spaak

- Vlad -

Je kan ook gewoon pre-tags echo-en en dan het bestand direct outputten. Dat geeft als het goed is ook het juiste resultaat.

PHP:
1
2
3
echo "<pre>";
readfile($bestandsnaam);
echo "</pre>";


Volgens mij is dit toch echt veel makkelijker, of zie ik nu iets over het hoofd?

TheStreme - Share anything with anyone

Pagina: 1