簡體   English   中英

PHP剪切文件名的最后幾個字符

[英]PHP Cutting the last few characters of a filename

我正在從數據庫中檢索文件位置和名稱,采用這種格式

http://domain.com/subdir/etc/etc/etc/picimage-niceone_Main-150x150.jpg

它們都是動態的,因此有數百個都有不同的名稱,但有一點是常量是最后一個 - 然后是文件維度。

我需要做的是在最后一次之后剝離所有東西 - 所以它變成了以下內容。

http://domain.com/subdir/etc/etc/etc/picimage-niceone_Main.jpg

任何幫助都是極好的。

干杯,

$stringName = "picimage-niceone_Main-150x150.jpg";
$newName = substr($stringName,0,strrpos($stringName,"-")).substr($stringName,-4);

這將刪除最后一個-和文件擴展名之間的所有內容。

看一下preg_replace()

$url = preg_replace('/\-(\d+)x(\d+)(\.\w+)$/', '$3', $url);

例如,找到一個連字符,一個數字,一個“ x”,一個數字和一個擴展名,然后用擴展名替換整個內容。

或者,如果您確實想知道那些寬度和高度值是什么(例如填充<IMG>標簽屬性:

$url = 'http://domain.com/subdir/etc/etc/etc/picimage-niceone_Main-150x150.jpg';
$regex = '/(.*?)-(\d+)x(\d+)(\.\w+)$/';
if (preg_match($regex, $url, $matches)) {
  $width = $matches[2];
  $height = $matches[3];
  $url = $matches[1] . $matches[4];
}
$newname = preg_replace("/-[^-.]*(\\.[a-zA-Z]*)$/", '$1', $oldname);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM