我有一个总是看起来像这个
的变体的网址"stickWood"
我需要用PHP删除分辨率说明符" -150x150"所以它读取
https://sitename/wp-content/uploads/2017/09/59a778097ae6e-150x150.jpeg
答案 0 :(得分:1)
如果始终-150x150
,您只能使用str_replace()
:
$url = "https://sitename/wp-content/uploads/2017/09/59a778097ae6e-150x150.jpeg";
$stripped = str_replace('-150x150', '', $url);
var_dump($stripped);
// string(62) "https://sitename/wp-content/uploads/2017/09/59a778097ae6e.jpeg"
如果您需要一种去除任何分辨率的方法,可以使用正则表达式:
$url = "https://sitename/wp-content/uploads/2017/09/59a778097ae6e-150x150.jpeg";
$stripped = preg_replace('/-[0-9]+x[0-9]+/', '', $url);
var_dump($stripped);
// string(62) "https://sitename/wp-content/uploads/2017/09/59a778097ae6e.jpeg"
答案 1 :(得分:0)
您好,您可以使用strpos()
和substr()
函数
<?php
$str1 = "https://sitename/wp-content/uploads/2017/09/59a778097ae6e-150x150.jpeg";
$str2 = "-150x150";
$pos = strpos($str1, $str2);
$part1 = substr($str1, $pos);
$part2 = substr($pos+1, strlen($str1));
$final_str = $part1.$part2;
echo $final_str;
?>
或者您也可以使用str_replace()
并将网址的部分替换为空:
<?php
$url = "https://sitename/wp-content/uploads/2017/09/59a778097ae6e-150x150.jpeg";
$str = "-150x150";
// will replace $str by '' in $url
$url = str_replace($str, '', $url);
echo $url;
?>
答案 2 :(得分:0)
如果它不总是150x150,这是一个很好的解决方案。
$url = 'https://sitename/wp-content/uploads/2017/09/59a778097ae6e-150x150.jpeg';
首先获得扩展
$ext = explode('.', $url);
$ext = $ext[count($ext)-1];
然后按&#39; - &#39;
分开 $array = explode('-', $url);
弹出最后一个将成为分辨率的数组元素(此处为150x150)
array_pop($array);
然后由&#39; - &#39;内爆再次并将扩展连接到新URL
$new_url = implode('-', $array). '.' .$ext;