← Back to team overview

sslug-teknik team mailing list archive

PHP - Meget mærkelig fejl med str_replace

 

Hej,

Jeg håber der sidder nogle php guruer derude et sted, kan hjælpe mig med
et mærkeligt problem.

Jeg har et konsol php script hvor jeg sender 2 argumenter ind, en hex
værdi der skal erstattes og den hex værdi den skal erstattes med.
Derefter vil jeg bruge str_replace til at erstatte i en fil, som jeg
gennemgår med fgets.

Det mærkelige ligger i at hvis jeg hardcoder nogen hex værdier bliver de
erstattet. Men hvis jeg gør det med variablerne vil den ikke erstatte
noget som helst.

Så denne linie virker :
$buffer = str_replace("\x2B","\xC5","$buffer"); // Å

Men denne virker ikke :
$buffer =
str_replace("\x$char_to_be_replaced","\x$char_to_replace_with",$buffer);
// Å

Variablerne er sat med :
$char_to_be_replaced = "$argv[6]";
$char_to_replace_with = "$argv[8]";

Scriptet er kaldt med :
C:\apache\php\php.exe N:\udvikling\test\kvag\hex.php -ic:\originalfil.txt
-o C:\outputfile.txt -c 2B G -C5

Mvh
Carsten Skov




Follow ups