Avec WP CLI , je peux utiliser la méthode search-replace comme ceci:
wp search-replace 'foo' 'bar'
Cependant, lorsque j'utilise regex, il ne remplace que l'occurrence première dans chaque champ de base de données:
wp search-replace 'myRegex' 'bar' --regex
Dans l'exemple ci-dessus, seule la première correspondance d'expression régulière pour myRegex
est remplacée dans un champ de base de données donné. Je peux répéter la recherche plusieurs fois jusqu'à ce que toutes les correspondances aient été remplacées, mais j'aimerais pouvoir le faire en une seule commande. L'indicateur global/g n'est pas disponible car lorsque je l'essaie:
wp search-replace 'myRegex/g' 'bar' --regex
Je reçois de nombreux avertissements que je ne peux pas l'utiliser avec php preg_replace:
Avertissement PHP: preg_replace (): inconnu modificateur 'g'
Sous le capot, WP-CLI utilise preg_replace()
pour effectuer l'opération de recherche/remplacement de regex. Par défaut, preg_replace()
est une opération globale. Si WP-CLI ne fait que remplacer la première instance, il se peut que vous rencontriez un autre problème.
Si vous avez trouvé un bogue et que vous pouvez fournir un scénario de test pour le reproduire, ouvrez un problème et nous pourrons le réparer.