Maison  >  Article  >  développement back-end  >  Comment remplacer efficacement les styles de nouvelle ligne en PHP ?

Comment remplacer efficacement les styles de nouvelle ligne en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-19 02:15:02146parcourir

How to Effectively Replace Newline Styles in PHP?

Comment remplacer les styles de nouvelle ligne en PHP

En PHP, gérer différents styles de nouvelle ligne peut être un défi. Pour remplacer toutes les nouvelles lignes ('rn', 'n', 'r') par 'rn', les méthodes suivantes peuvent être utilisées :

preg_replace() avec R

Cette méthode utilise une expression régulière pour faire correspondre toutes les séquences de nouvelle ligne Unicode (quel que soit le système d'exploitation) :

$string = preg_replace('~\R~u', "\r\n", $string);

Si vous souhaitez faire correspondre uniquement les nouvelles lignes CRLF :

$string = preg_replace('~(*BSR_ANYCRLF)\R~', "\r\n", $string);

Remarque :

  • R représente toute séquence de nouvelle ligne Unicode.
  • BSR_ANYCRLF limite R pour qu'il ne corresponde qu'à CR , LF ou CRLF.
  • u spécifie que la chaîne d'entrée doit être traitée comme UTF-8.

Options PCRE pour R

PCRE propose des options pour personnaliser le comportement de R :

  • PCRE_BSR_ANYCRLF : Restreint R pour qu'il corresponde uniquement à CR, LF ou CRLF.
  • PCRE_BSR_UNICODE : Permet à R de correspondre à n'importe quelle séquence de nouvelle ligne Unicode.

Séquences de modèles spéciaux

Alternativement , vous pouvez spécifier le comportement de correspondance R dans le modèle lui-même :

  • (*BSR_ANYCRLF) : correspond à CR, LF ou CRLF uniquement.
  • (*BSR_UNICODE) : correspond à n'importe quelle séquence de nouvelle ligne Unicode.

Exemple :

$pattern = '(*BSR_ANYCRLF)\R';
preg_replace($pattern, "\r\n", $string);

Ces séquences spéciales doivent être placées au début du motif dans en majuscules et peut remplacer les options définies avec pcre_compile().

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn