Afin de pouvoir "multi-remplacer" mes chaînes de caractères que j'ai déjà écrit dans des articles pour Joomla, par des constantes déclarées dans l'outil de Regular Lab intitulé re replacer, j'ai dû faire un petit script PHP, que j'exécute en mode CLI afin de corriger mes données. Pour rappel, ce mode permet d'exécuter un script PHP tel un fichier batch, en ligne de commande. Ce mode-ci, peu connu de PHP, vous permet véritablement de générer des scripts complets sans avoir de problème de Time Out de votre serveur web. Je l'utilise dans la mesure où je connais bien le langage PHP et mal, voire pas du tout, des langages de scripts tels que batch, python ou encore Perl.
J'ai besoin était donc de pouvoir remplacer "en une passe", afin d'optimiser mes temps de traitements, plusieurs chaînes de caractères d'un fichier. L'idée étént de "reprendre" les articles Joomla que j'ai déjà écrit, et ne remplacer que les chaines par les "constantes" (plusieurs dizaines) déclarées dans re-replacer.
Je vous partage le script que j'ai écrit, qui est relativement simple, mais qui est bien pratique.
Notez que pour lancer ce script, qui lui-même prend un fichier en paramètre, il suffit d'utiliser sous Windows et la commande php.exe, où la commande PHP sur les autres systèmes d'exploitation.
Ces quelques lignes sont dupliquées pour autant des remplacement à faire. Rien de vous empêche d'en faire une fonction réutilisable...
Pour lancer cette commande, je la lance ainsi
c:\UwAmp\bin\php-7.2.7\php.exe c:\temp\script.php c:\temp\40.html
<?php
$fic = $argv[1];
$fic = file_get_contents($fic);
$fichier = str_replace('<h1>Mon titre</h1>',
'<h1>[[[MaChaineDeclaréeDansReReplaceer]]]</h1>',
$fichier);
file_put_content($fic.".sav.html", $fichier);
?>
