Je possède ce code PHP:Recherche et remplacer par des lettres regex en dehors des balises html et '
$subject = "word1 <a skip this word2 >w'aot'rd2 again</a> word3";
$pattern = "~<[^>]*>|'[^>]*'(*SKIP)(*F)|o~";
$replace = 'O';
$result = preg_replace($pattern, $replace, $subject);
echo $result;
Il est fonctionne très bien quand je remplacerai « o » pour « O » en dehors des balises HTML, mais je recherche don ne remplacez pas le "o" à l'intérieur de '' aussi bien.
Et j'ai besoin de remplacer tableau de lettres, comme "r" pour "R" et "a" pour "A".
Résultat: "wOrD1 <a skip this word2 >w'aot'rD2 again</a> wOrD3
" Remplacer "o" pour "O" et "d" pour "D", en dehors des balises html et en dehors de ''.
ce qui est le résultat attendu que vous cherchez? –
je recherche ceci: "WORD1 w'aot'rD2 again MOT3" Remplacer o O et d D, en dehors des balises html et à l'extérieur '' – user3341848
Vous devez regrouper le "skip fail" partie: '(? <[^>] *> | '[^>] *') (* SKIP) (* F) | o' https://regex101.com/r/lY8pU3/1. Vous pouvez également utiliser le modificateur 'x' pour ajouter de l'espace et commenter [démo] (https://regex101.com/r/lY8pU3/2) – HamZa