亚马逊上的图片网址如下:
http://ecx.images-amazon.com/images/I/911pRnX5a0L.SL1500.jpg
请注意额外部分._SL1500
,这可能会有所不同,而另一个例子是.SL150
。
我希望能够解决这个问题,所以我们从以下地方开始:
http://ecx.images-amazon.com/images/I/911pRnX5a0L.SL????.jpg
只是:
http://ecx.images-amazon.com/images/I/911pRnX5a0L.jpg
关于如何使用PHP中的preg替换或类似方法执行此操作的任何想法?
答案 0 :(得分:1)
我的代码:
<?php
//amazon url
$url = 'http://ecx.images-amazon.com/images/I/911pRnX5a0L.SL150.jpg';
$pattern = '/\bSL[0-9]+\./i';
$url = preg_replace( $pattern, '', $url );
答案 1 :(得分:0)
使用此正则表达式~\.SL(.*?)\.~
echo $str = preg_replace("~\.SL(.*?)\.~",".", $str);
<强> OUTPUT :
强>
http://ecx.images-amazon.com/images/I/911pRnX5a0L.jpg
答案 2 :(得分:0)
你也可以使用substr,这看起来像这样:
$test = "http://ecx.images-amazon.com/images/I/911pRnX5a0L.SL1500.jpg";
$test2 = substr($test,0,-11);
echo "$test2.jpg";
输出将是:
http://ecx.images-amazon.com/images/I/911pRnX5a0L.jpg
(只有在您确定所有图像都是.jpg时才会有效)
答案 3 :(得分:0)
$u = 'http://ecx.images-amazon.com/images/I/911pRnX5a0L.SL1500.jpg';
$url = preg_replace('/SL\d+\./','',$u);
echo $url ;