gpt4 book ai didi

php - 在php中将双反斜杠添加到单反斜杠

转载 作者:行者123 更新时间:2023-11-28 02:46:02 24 4
gpt4 key购买 nike

我已经搜索了很多并尝试了 javascript Replace() 函数和 str_replace,addslashes ,以及删除斜杠,但我没有得到正确的输出。

这就是我正在做的事情:

str_replace("\\","\\\\", "C:wamp\www\desi\uploads\artist\bg\9.jpg";

我得到的输出是:

C:wampwwwÞsiuploads\A rtist\B g .jpg

然后我尝试了另一种方法:

var clean=  "<?php echo str_replace("\\","@",LINKCONSTANT); ?>".replace("@","\\");

仍然没有任何想法?

最佳答案

这个问题无法通过使用 str_replace 来解决,因为双引号中的字符串将由 PHP 处理斜杠作为转义序列。像这样使用 str_replace 并不能解决 PHP(或 javascript)处理字符串转义的问题 - 一旦你在字符串中添加了反斜杠,它就会非常忠实地保留在那里。

但是字符串常量将在单引号中工作,如下所示:

'C:wamp\www\desi\uploads\artist\bg\9.jpg'

但正如其他地方所指出的,Windows 中的目录分隔符在内部处理为“/”或“\”,因此只需使用“/”(用于 api 调用)就可以了。

如果您希望输出一个可以安全地由 javascript 解析的字符串,请执行以下操作:

echo "var str = ".json_encode('C:wamp\www\desi\uploads\artist\bg\9.jpg').";";

将以 javascript 兼容的方式输出:

var str = "C:wamp\\www\\desi\\uploads\\artist\\bg\\9.jpg";

关于php - 在php中将双反斜杠添加到单反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11854848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com