duancan65665 2013-08-22 17:26
浏览 103
已采纳

str_replace双引号和单引号

I have a simple PHP script that should escape both single and double quotes with a backslash. Here is my code:

$output = str_replace('"','\"',$input);
$output = str_replace("'","\'",$output);
return $output;

Problem is, it only escapes the double quote, so a string like

"This" is a 'string'

parses out to be

\"This\" is a 'string'

not

\"This\" is a \'string\'

If I change the second line to

$output = str_replace("'","asdf",$output);

I get

\"This\" is a asdfstringasdf

Any ideas what is going wrong?

Thanks

  • 写回答

3条回答 默认 最新

  • douyu5679 2013-08-22 17:46
    关注

    Problem solved. I was viewing the output in my browser's console, which for some reason was showing the backslash for double quotes, but not singles. View source showed that it was working properly.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?