Remplacer les LF sans remplacer les CRLF

Eléphanteau du PHP | 17 Messages

05 févr. 2019, 16:56

Bonjour,
Sauriez vous comment, dans un fichier, remplacer les fin de ligne (LF) par un | sans remplacer les retours chariot suivit des fin de ligne (CRLF), en PHP 5.6.
Merci de votre aide :D

Mammouth du PHP | 1967 Messages

05 févr. 2019, 17:00

remplace d'abords les CRLF par un carctère neutre, puis les LF par | et ensuite ton caractère neutre par un CRLF

avec une expression regulière ca doit être aussi possible
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 17 Messages

05 févr. 2019, 17:46

Merci bien, astucieux!
Je laisse tout de même la discussion ouverte car j'attendais effectivement une expression régulière de manière à être plus optimisé comme traitement et quelles fonctions utiliser en PHP la faire passer sur un fichier

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

05 févr. 2019, 20:41

CR se représente par "\r" et LF par "\n" dans une chaine de caractères PHP.

Donc un simple str_replace() avec ce que tu vas faire devrait fonctionner.
Attention à bien utiliser des guillemets doubles pour que PHP comprenne bien que c'est CR LF dont tu veux parler. Si tu utilises des guillemets simples (apostrophes) PHP va le prendre au pied de la lettre et va chercher réellement les caractères \r et \n
Quand tout le reste a échoué, lisez le mode d'emploi...