web-dev-qa-db-fra.com

Trouver et remplacer dans un fichier

Je veux remplacer certaines chaînes avec une autre dans un fichier texte (ex: \nH avec ,H). Y a-t-il un moyen de faire appel à PHP?

22
ArK

Vous pouvez lire le fichier entier avec fichier_get_contents () , effectuez A Str_replace () et la sortie 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);

?>
49
Josh

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

Vous pouvez lire le contenu du fichier avec file_get_contents , effectuez 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)));
13
Gumbo

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 besoin de tuyer tout le contenu du fichier via PHP et peut utiliser des expressions régulières. Pourrait être plus rapide.

Si vous n'êtes pas dans la lecture de morceaux de lecture, vous pouvez trouver une vue d'ensemble sur Wikipedia .

9
middus

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

1
Mikey