php php_replace正则表达式\\\正斜杠

Cha*_*lie 2 php api amazon

我正在调用Amazon API来获取用于预订封面缩略图的URL.

缩略图网址如下:

\\ebc.amazon.com\images\EtcLkasff-_-23.jpg
Run Code Online (Sandbox Code Playgroud)

正斜杠是问题所在.要使这些图像显示在我的页面上,请将"\"替换为"/".但是,我的正则表达式php_replace语法失败了我.

我有这个:

$thumbnail = str_replace('\', '//', $apiString);
Run Code Online (Sandbox Code Playgroud)

我试过了

$thumbnail = str_replace('\\', '//', $apiString);
Run Code Online (Sandbox Code Playgroud)

它仍然无法正常工作.

在此先感谢大家!

编辑:::

在我做之后:

$thumbnail = "http://" . $thumbnail;
Run Code Online (Sandbox Code Playgroud)

URL如下所示:

http://\/\/ecx.images-amazon.com\/images\/I\/51vCLCTcmAL._SL75_.jpg
Run Code Online (Sandbox Code Playgroud)

我试过了

$picture4 = str_replace('\', '/', $picture4);
Run Code Online (Sandbox Code Playgroud)

这给了我一个逃避错误.

对不起:(还有一个编辑可以让事情变得非常清楚:

我这样做了:

       // get amazon picture URL
        $picture1 = preg_split('/,/', str_replace("\"", "", $details));
        $picture2 = preg_split('/:/', $picture1[7]);
        $picture3 = preg_replace('/\\//','/',$picture2[2]);
        $picture4 = preg_replace('/\\//','/',$picture3);
//        $picture4 = str_replace('\', '/', $picture4);
        $picture4 = "http://" . $picture4;

         echo "<pre>";print_r($picture4);echo "</pre>";
Run Code Online (Sandbox Code Playgroud)

此时,$ picture4是:

HTTP://\/\/ecx.images-amazon.com\/影像\/I\/ 51vCLCTcmAL.SL75 .jpg

Wes*_*rch 7

应该就是你所需要的:

$thumbnail = str_replace('\\', '/', $apiString);
//                        ^^^ the backslash must be escaped
Run Code Online (Sandbox Code Playgroud)

这将转换:

\\ebc.amazon.com\images\EtcLkasff-_-23.jpg

//ebc.amazon.com/images/EtcLkasff-_-23.jpg