There is a file i trying replace that contain special char
From:
[v]_CØDE:BREAKER_-_01_[gg][D00B1].mkv
To:
[v]_CoDE:BREAKER_-_01_[gg][D00B1].mkv
But when i try the below code
if ($handle = opendir($refolder)) {
while (false !== ($entry = readdir($handle))) {
$renameTHEfile = $entry;
$renameTHEfile = str_ireplace("Ø","O",$renameTHEfile);
$renameTHEfile = str_ireplace('ø','o',$renameTHEfile);
$renameTHEfile = str_ireplace(":","_",$renameTHEfile);
$renameTHEfile = str_ireplace("!","",$renameTHEfile);
$renameTHEfile = str_ireplace("'","",$renameTHEfile);
$renameTHEfile = str_ireplace('"','',$renameTHEfile);
$renameTHEfile = str_ireplace(",","",$renameTHEfile);
$renameTHEfile = str_ireplace("#","",$renameTHEfile);
$renameTHEfile = str_ireplace("$","",$renameTHEfile);
$renameTHEfile = str_ireplace('/','',$renameTHEfile);
$renameTHEfile = str_ireplace("?","",$renameTHEfile);
$theoldfile_rename = $refolder . $entry;
$thenewfile_rename = $refolder . $renameTHEfile;
$cmd_renameit = 'move "' .$theoldfile_rename. '" "'.$thenewfile_rename .'"';
echo $cmd_renameit;
exec($cmd_renameit);
}
}
The video file will output as
[v]_CØDE
How to get it replace properly into , i also need replace the : with _
[v]_CODE_BREAKER_-_01_[gg][D00B1].mkv
Thanks for helping.
You have a space in the file. Escape it like: "\ " or some other character. In your case, just remove the space. str_replace(" ", "", $str)
Just make a function that renames upon your needs, you may consider something like this:
<?php
function rename_ani($name){
$name = str_replace(array("Ø","ø"), "O", $name);
$name = str_replace(":","_",$name);
$name = str_replace(array("!","'",'"',",","#","$","/","?"),"",$name);
return $name;
}
$anime = '[v]_CØDE:BREAKER_-_01_[gg][D00B1].mkv';
echo rename_ani($anime); // output: [v]_CODE_BREAKER_-_01_[gg][D00B1].mkv
?>