![](/img/trans.png)
[英]PHP Make an excerpt by cutting the string on the last space after x characters
[英]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.