Question Remplacer une chaîne dans un fichier texte

Plus d'informations
il y a 13 ans 9 mois #11883 par CERLAND
Bonjour,

je cherche à remplacer du texte mais je n'y arrive pas avec le -replace. Je pense que c'est du au caractère spécial que je recherche et veux remplacer. Sinon pas de souci pour le reste sur le -replace.

[code:1]PS P:\> $fic = Get-Content .\index.php
PS P:\> $fic
<?
echo phpinfo();
?>
PS P:\> $fic -replace '<?','<?php'
<?php<?php?<?php
<?php <?phpe<?phpc<?phph<?phpo<?php <?phpp<?phph<?phpp<?phpi<?phpn<?phpf<?phpo<?php(<?php)<?php;<?php
<?php?<?php><?php
PS P:\> $fic
<?
echo phpinfo();
?>
PS P:\>[/code:1]

Si quelqu'un a la solution :)
Merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 9 mois #11886 par SiSMik
[code:1]gc index.php | % {$_ -replace \"<?\", \"<?php\" } | Set-Content index.php[/code:1]

Salut tu peux faire comme ça (pas testé)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 9 mois #11888 par CERLAND
Salut,

Non ca n'a pas focntionner. Ca renvoi a nouveau ce resultat

[code:1]PS P:\> gc .\index.php | % {$_ -replace \"<?\",\"<?php\"} | Set-Content .\index1.php
PS P:\> gc .\index1.php
<?php<?php?<?php
<?php <?phpe<?phpc<?phph<?phpo<?php <?phpp<?phph<?phpp<?phpi<?phpn<?phpf<?phpo<?php(<?php)<?php;<?php
<?php?<?php><?php
PS P:\>[/code:1]

Je pense que le '<?' doit etre considéré comme un caractère spécial !!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 9 mois #11891 par Laurent Dardenne
akysirbu écrit:

Je pense que le '<?' doit etre considéré comme un caractère spécial !!

Exact, il faut l'échapper. Une solution :
[code:1]
$S=@'
<?
echo phpinfo();
?>
<?
echo phpinfo();
?>

'@

$S -Replace [regex]::Escape('<?'),'<?php'
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 9 mois #11892 par Matthew BETTON
Bonsoir,

Mince... je répond trop tard :P

Une autre solution :

[code:1]
$fic -replace \"\<\?\",\"<?php\"
[/code:1]

Bon, c'est vrai que j'aime bien celle à Laurent :silly:

@ +

Matthew

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 9 mois #11893 par Matthew BETTON
Quelques caractères spéciaux : $ ( ) * + . [ ] ? \ / ^ { } &lt; &gt; | ...<br><br>Message édité par: Matthew BETTON, à: 25/05/12 19:23

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.053 secondes
Propulsé par Kunena