str_replace()不能使用"("和" [" PHP

时间:2018-04-25 03:48:29

标签: php html

这是我在php中的简单代码函数

function replaceCharact($input,$action){
    $output_1 = str_replace('(', "%11%", $input);
    $output_2 = str_replace(')', '%12%', $output_1);
    $output_3 = str_replace('[', '%13%', $output_2);
    $output_4 = str_replace(']', '%14%', $output_3);
    $output_5 = str_replace('"', '%15%', $output_4);
    $output_6 = str_replace('/', '%16%', $output_5);
    $output_7 = str_replace('"\"', '%17%', $output_6);
    $output_8 = str_replace('!', '%18%', $output_7);
    $output_9 = str_replace('<', '%19%', $output_8);
    $output_10 = str_replace('>', '%20%', $output_9);
    return $output_10;    
}

只有"!"($output_8)更改为%19%。其他输出什么都没有显示。你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

为了简化使用数组的批量替换,请尝试此...

$replacement = array(
  '(' => "%11%",
  ')' => '%12%',
  '[' => '%13%',
  ']' => '%14%'
  // etc etc
);

$string = str_replace( array_keys( $replacement ), $replacement, $string );

https://3v4l.org/kmXZp