我有一個網址,將永遠看起來像這樣PHP刪除字符串的中間部分
https://sitename/wp-content/uploads/2017/09/59a778097ae6e-150x150.jpeg
我需要的,以便它讀取
用PHP刪除分辨率符「-150x150」一些變化https://sitename/wp-content/uploads/2017/09/59a778097ae6e.jpeg
我有一個網址,將永遠看起來像這樣PHP刪除字符串的中間部分
https://sitename/wp-content/uploads/2017/09/59a778097ae6e-150x150.jpeg
我需要的,以便它讀取
用PHP刪除分辨率符「-150x150」一些變化https://sitename/wp-content/uploads/2017/09/59a778097ae6e.jpeg
如果它總是-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"
你好,你可以使用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()
並沒有更換URL的一部分:
<?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;
?>
爲什麼不使用'str_replace()'? –
如果它不是一個總是150x150,這裏有一個漂亮的解決方案。
$url = 'https://sitename/wp-content/uploads/2017/09/59a778097ae6e-150x150.jpeg';
首先得到擴展
$ext = explode('.', $url);
$ext = $ext[count($ext)-1];
然後通過分割 ' - '
$array = explode('-', $url);
彈出,這將是該決議的最後一個數組元素(150×150這裏)
array_pop($array);
然後由' - 'a撞擊獲取並連接到新的url的擴展名
$new_url = implode('-', $array). '.' .$ext;
向我們展示您到目前爲止所嘗試的內容。請閱讀:[如何創建一個最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve)以及[我如何問一個好問題?](http://stackoverflow.com/幫助/如何問) –
是'-'單獨的還是負的整數?也許用' - \ d + x \ d +'替換掉任何東西,或者如果是負數的話 - '\ d + x - ?\ d +'。 – chris85
'( - \ d + x \ d +)(?= \。)'? – ctwheels