Hei!
Kopioin tästä osoitteesta koodia:
<?php $testi = 'foo'; print($testi . "\n"); $testi = bar; print($testi . "\n"); $testi = 007; print($testi+'foobar' . "\n"); ?>
saan tulokseksi vain :
"foo bar 7 "
En siis rivin vaihtoja, jos käytän <br> -rivin vaihtoa, niin toimii. Onko ympäristömuuttujissa puute, kun ei toimi?
Petri
Mod. lisäsi kooditagit!
Siis katsotko tulosta lähdekoodista vai nettiselaimen graafista tulkintaa lähdekoodista? Jos ensimmäinen on totta, niin kyllä siellä pitäisi näkyä rivinvaihto, mutta jos jälkimmäinen niin <br /> tai <br> tarvitaan rivinvaihdon tagiksi. Voit myös tulostaa tagien <pre> ja </pre> väliin, jolloin myös rivinvaihtomerkit tulevat merkitykselliksiksi.
Ensiksi: Älä kopioi koodia vuoden 2000 materiaalista, koska se on PHP:n osalta auttamattomasti vanhentunutta. Esimerkiksi tuo koodisi aiheuttaa jo kaksi virheilmoitusta: sana bar
on määrittelemättä, ja lukua ja tekstiä ei voi laskea yhteen plusmerkillä. Eli vaikka materiaalin mukaan ”välttämättä tulostus ei siis ole sitä mitä halutaan”, nykyaikaisesti ajateltuna koodi on aivan selvästi virheellistä.
Itse ongelmaan: PHP tuottaa palvelimella tavallisesti HTML-koodia, jossa rivinvaihto tulkitaan vain välinä. Jos haluat tulostaa pelkkää tekstiä, aseta alussa sopiva otsikko:
Toinen vaihtoehto on suorittaa PHP-koodia komentorivillä, jossa tulostus on normaalistikin vain tekstiä.
Muista myös käyttää oikeaa merkistökoodausta. Yleensä UTF-8 on nykyään sopiva.
Kiitos!
Aihe on jo aika vanha, joten et voi enää vastata siihen.