Rivinvaihtomerkit eri järjestelmissä
Mureakuha
Tekstitiedostojen rivivaihtomerkit riippuvat käytettävästä järjestelmästä sekä mahdollisesti käytettävästä sovelluksesta, kuten Internet-selaimesta. Rivinvaihtomerkkisarjoja on yleisessä käytössä kolmea erilaista: (\n = LF, Line Feed; \r = CR, Carriage Return)
| Merkki | Järjestelmä |
|---|---|
| LF, \n | *Nix |
| CR, \r | Macintosh |
| CRLF, \r\n | Windows |
Näistä alin, eli CRLF on myös käytössä yleisimmissä protokollissa, eli esimerkiksi HTTP ja SMTP.
PHP
PHP-sovelluksissa tämä voidaan huomioida mm. seuraavasti:
<?php /* Muutetaan rivivaihdot <br /> -tageiksi. */ /* Tapa 1. Huomaa että str_replace -funktiota on turhaa kutsua kolmesti, sillä funktiolle voi antaa suoraan arrayn! */ $string = str_replace(array("\r\n", "\n", "\r"), '<br />', $string); /* Tapa 2: Preg_replace saattaa tai saattaa olla olematta str_replace -funktiota hitaampi. */ $string = preg_replace("/\r\n|\r|\n/", '<br />', $string); /* Tapa 3: Luultavasti näistä nopein, mutta tulos ei välttämättä ole aina toivottu, sillä versiosta riippuen palautuu joko "<br>" tai "<br />". On myöskin huomattava, että tämä eroaa muista tavoista siten, ettei rivinvaihtoja ''korvata'', vaan niiden eteen ''lisätään'' jompikumpi yllämainituista html- tageista. Esimerkiksi hei\nhei muuttuu muotoon hei<br />\nhei. */ $string = nl2br($string); ?>
Huomaa että pelkästään LF (\n) ja CR (\r) merkkejä ei voida vaihtaa, sillä CRLF sisältää nämä molemmat. Tällöin esimerkiksi Linux- ja Machintosh-käyttäjät saattaisivat nähdä pelkästään yhden rivivaihdon kun Windows-käyttäjä näkisikin niitä kaksi kappaletta.
Pascal
Pascalissa kuten FreePascal ja Lazarus rivinvaihto saadaan toimimaan käyttöjärjestelmäriippumattomasti käyttämällä LineEnding merkkijonovakiota. Eli rivinvaihdon kohalle lisätään vain LineEnding vakio.
