Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: PHP:n rivinvaihdot

tpohjis [14.11.2009 13:40:37]

#

tunnin kuluttanut ihmettelyyn ja hakuun joten: rivinvaihto php:llä.
itse sain aikaan tälläinen lausekkeen (ja variaatiot alkaen echo" \n")

<?php
   $v="1 \r\n"; echo" 1 $v\n"; print "3 $v \r\n";echo $v;

mitään vaikutusta ei ollut tulosteeseen,(paitsi luvut 1 ja 3) muutkin googlessa päässyt samaan ongelmaan, eikä html:ää parempaa neuvoa ole saaneet.

en ymmärrä missä vika, kun oppaita katsellut..

Mod. lisäsi kooditagit

Grez [14.11.2009 13:48:57]

#

Kyllä tuossa minusta tulee rivivaihdot normaalisti. Melkein väittäisin, että silmissä vikaa.

Esimerkki: http://grez.info/putka/tpohjis/demo.php (lähdekoodi)

Jos taas et katsellut PHP:n tuottamaa tulostetta, vaan sitä miten www-selain näytti HTML:ksi tulkitsemansa PHP:n tulosteen, niin ehkä vika on siinä, että HTML ei tee eroa rivivaihdon ja välilyönnin välille. HTML:ssä rivivaihdon voi tehdä <br> -tagilla (ja xhtml:ssä <br /> -tagilla) Lisäksi <pre></pre> -tagien väliin kirjoitetussa tavarassa rivivaihdot näytetään.

tpohjis [14.11.2009 13:54:19]

#

1 2 3 1 1 3 1 1 2 4 6 1 1 3 1 1 3 6 9 1 1 3 1 1 4 8 12 1 1 3 1 1

tulostaa www.osoite.com serveri
http://www.hattutemppu.fi/testi3.php?m=3&n=4

<?php
    $n = $_REQUEST['n'];
    $m = $_REQUEST['m'];

    if ($n==0 or $m==0) print "0"; else {

       for ($xx=1;$xx<=$n;$xx++){
        for ($x=1;$x<=$m;$x++) echo $xx * $x ." ";
         $v="1 \r\n"; echo" 1 $v\n"; print "3 $v \r\n";echo $v;
       }
    }
?>

järjen rippeethän tässä lähtee...

....nikotiinia...

Mod. lisäsi kooditagit

Grez [14.11.2009 13:55:42]

#

Jos www-selaimella katsot, niin katsothan siis "view source"/"näytä lähdekoodi". Jos siis haluat tosiaan nähdä, mitä se serveri tulostaa.

Metabolix [14.11.2009 14:05:15]

#

HTML:ssä rivinvaihdot, tabulaattorit ja välilyönnit ovat kaikki samaa, tuloksena on tekstin seassa yksi väli.

HTML-koodia:

<p>Hei,        tässä

   on tekstiä.</p>

Selain näyttää:

Hei, tässä on tekstiä.

Jos haluat sivulle rivinvaihtoja, voit käyttää br-tagia. Jos taas haluat kappalejaon, laita jokainen kappale omaan p-tagiinsa.

<p>Tässä on ensimmäinen kappale.</p>
<p>Tässä on toinen kappale.</p>
<p>Tässä on kolmas kappale, joka sisältää<br />pätkiä<br />eri riveillä.</p>

Jos pohdit asiaa PHP-haasteen näkökulmasta, niin siinähän PHP-skriptin ei ole tarkoituskaan tuottaa HTML-koodia vaan pelkkää tekstiä. PHP:ssä voit hoitaa asian näin:

<?php
# Tämä skripti tulostaa vain tavallista tekstiä.
header("Content-Type: text/plain");
echo "Hei!\nRivinvaihdot toimivat!\nVälitkin    toimivat  hienosti.\n";

tpohjis [14.11.2009 14:16:35]

#

kiitos. eli tuo header("Content-Type: text/plain"); oli se mikä minut pelasti?

TESTI 1...OIKEIN
TESTI 2...OIKEIN
TESTI 3...OIKEIN
TESTI 4...OIKEIN
TESTI 5...OIKEIN
TESTI 6...OIKEIN
TESTI 7...OIKEIN

ONNITTELUT! Ratkaisusi hyväksyttiin!

Metabolix [14.11.2009 14:20:50]

#

Ei sen pitäisi vaikuttaa asiaan PHP-haasteen kannalta mitenkään. Se vaikuttaa vain siihen, mitä itse selaimella kokeillessasi näet.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta