Hmm, postoje 3 "standardna" načina za prelazak u novi red:
1. DOS/Windows - "\r\n"
2. Mac - "\r"
3. Linux - "\n"
Željeni rezultat: Linux format - "\n".
Rešenje:
1.
Kôd:
search_and_replace($source, $search_pattern="\r\n", $replace_pattern="\n")
Posle ovog koraka smo prebacili sve linije iz Dos/Windows formata u Linux Format.
2. Sada treba srediti Mac -> Linux format
Kôd:
search_and_replace($source, $search_pattern="\r", $replace_pattern="\n")
Mogući problemi: Ako je tekst koristio "mešovit" enkoding (jedan red se završava u Win formatu, drugi u nekom drugom), mogu se dobiti neželjeni rezultati.
Kada ne koristiti ovo rešenje: Ako smo već upoznati u kom formatu se nalazi tekst, onda treba izbaciti nepotrebne zamene, prvenstveno zbog dužine trajanja ove operacije kod dužih stringova.
Za lenštine
PHP kôd:
<?php
function convertLinuxAndMacNewLinesToLinuxFormat($source) {
$result = str_ireplace("\r\n", "\n", $source);
return str_ireplace("\r", "\n", $result);
}
?>