用空格替换%20

I have the following function :

function remove() {
        $value_1 = "Patrick%20Kaka%20M";
        $value_2 = "%";
        $value_3 = " ";
        $new_value = str_replace($value_3, $value_2, $value_1);
        echo 'New value is : ....  '.$new_value.'<br>';
    }

I want the value one to output as Partick Kaka M but it keeps on failing. Please advise on how I can implement it well.

Use urldecode()

echo urldecode('Patrick%20Kaka%20M');