Question Rechercher et remplacer dans un fichier


Je veux remplacer certaines chaînes par une autre dans un fichier texte (ex: \nH avec ,H). Y a-t-il un moyen d'utiliser PHP?


21
2017-09-17 12:28


origine


Réponses:


Vous pouvez lire l'intégralité du fichier avec file_get_contents (), effectuer un str_replace (), et le retourner avec file_put_contents ().

Exemple de code:

<?php

$path_to_file = 'path/to/the/file';
$file_contents = file_get_contents($path_to_file);
$file_contents = str_replace("\nH",",H",$file_contents);
file_put_contents($path_to_file,$file_contents);

?>

44
2017-09-17 12:32



Il y a plusieurs fonctions pour lire et écrire un fichier.

Vous pouvez lire le contenu du fichier avec file_get_contents, effectuer le remplacement par str_replace et mettre les données modifiées avec file_put_contents:

file_put_contents($file, str_replace("\nH", "H", file_get_contents($file)));

12
2017-09-17 12:32



Si vous êtes sur une machine Unix, vous pouvez également utiliser sed via php fonctions d'exécution du programme.

Ainsi, vous n'avez pas à canaliser tout le contenu du fichier via php et pouvez utiliser des expressions régulières. Pourrait être plus rapide.

Si vous ne lisez pas les pages de manuel, vous pouvez trouver une vue d'ensemble sur Wikipédia.


9
2017-09-17 12:38



file_get_contents() puis str_replace() et remettre la chaîne modifiée avec file_put_contents() (à peu près ce que Josh a dit)


1
2017-09-17 12:35