如何在 PHP 中移除字串的字尾名


PHP(超文字預處理器):PHP(超文字預處理器)是一種廣泛使用的開源伺服器端指令碼語言,專門為 Web 開發而設計。它最初由 Rasmus Lerdorf 於 1994 年建立,此後發展成為一種功能強大的語言,被全球數百萬開發人員使用。

PHP 主要用於開發動態網頁和 Web 應用程式。它允許開發人員在 HTML 中嵌入 PHP 程式碼,從而輕鬆地將伺服器端邏輯與表示層混合。PHP 指令碼在伺服器上執行,生成的 HTML 傳送到客戶端的瀏覽器。

有幾種方法可以在 PHP 中從字串中移除副檔名。

以下列出四種常見方法

  • 使用 pathinfo() 函式

  • 使用 substr() 和 strrpos() 函式

  • 使用 explode() 和 implode() 函式

  • 使用正則表示式 (regex)

使用 pathinfo() 函式

使用 pathinfo() 函式是移除 PHP 字串中副檔名的一種方法。

示例

<?php
   $filename = 'exampleFile.txt';
   $filenameWithoutExtension = pathinfo($filename, PATHINFO_FILENAME);
?>

在這種方法中,pathinfo() 函式被呼叫,並帶有兩個引數:檔名字串和 PATHINFO_FILENAME 常量。該函式返回一個關聯陣列,其中包含有關路徑的資訊。訪問陣列的 PATHINFO_FILENAME 元素,即可獲得不帶副檔名的檔名。

在上面的示例中,變數$filenameWithoutExtension 將儲存值 'example',即不帶副檔名的檔名。

您可以將 'exampleFile.txt' 替換為您自己的檔名字串,以從不同的檔名中移除副檔名。

使用 substr() 和 strrpos() 函式

使用 substr() 和 strrpos() 函式是移除 PHP 字串中副檔名的另一種方法。以下是一個示例

<?php
   $filename = 'exampleFile.txt';
   $extensionPosition = strrpos($filename, '.');
   $filenameWithoutExtension = substr($filename, 0, $extensionPosition);
?>

在此方法中,strrpos() 用於查詢檔名字串中最後一個點 (.) 的位置。它返回該位置的整數。然後,substr() 用於從檔名的開頭提取到副檔名位置的子字串。

在上面的示例中,變數$filenameWithoutExtension 將儲存值 'example',即不帶副檔名的檔名。

您可以將 'exampleFile.txt' 替換為您自己的檔名字串,以從不同的檔名中移除副檔名。

使用 explode() 和 implode() 函式

使用 explode() 和 implode() 函式是移除 PHP 字串中副檔名的另一種方法。以下是一個示例

<?php
   $filename = 'exampleFile.txt';
   $parts = explode('.', $filename);
   array_pop($parts);
   $filenameWithoutExtension = implode('.', $parts);
?>

在這種方法中,explode() 用於根據點 (.) 分隔符將檔名字串拆分為陣列。這將建立一個數組,其中每個元素代表檔名的一個部分。然後,array_pop() 用於從陣列中移除最後一個元素,該元素對應於副檔名。最後,implode() 用於使用點 (.) 分隔符將檔名的剩餘部分重新連線在一起。

在上面的示例中,變數$filenameWithoutExtension 將儲存值 'example',即不帶副檔名的檔名。

您可以將 'exampleFile.txt' 替換為您自己的檔名字串,以從不同的檔名中移除副檔名。

使用正則表示式 (regex)

使用正則表示式 (regex) 是移除 PHP 字串中副檔名的另一種方法。以下是一個示例

<?php
   $filename = 'exampleFile.txt';
   $filenameWithoutExtension = preg_replace('/\.[^.]+$/', '', $filename);
?>

在此方法中,preg_replace() 函式與正則表示式模式一起使用,以匹配副檔名並將其替換為空字串。模式 /\.[^.]+$/ 匹配一個點 (.),後跟一個或多個非點字元(非貪婪),直到字串末尾。

在上面的示例中,變數 $filenameWithoutExtension 將儲存值 'example',即不帶副檔名的檔名。

您可以將 'exampleFile.txt' 替換為您自己的檔名字串,以從不同的檔名中移除副檔名。

注意:正則表示式提供了一種靈活的方式來匹配和操作字串,但它們需要一些正則表示式語法的知識。請確保處理邊緣情況,並在需要時調整模式以適應您的特定需求。

結論

每種方法都有其優點,根據具體情況和個人喜好可能適用。在選擇在 PHP 中移除副檔名的合適方法時,務必處理邊緣情況並考慮效能、檔名變化和需求等因素。

更新時間: 2023年8月1日

1K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告