📜  如何从PHP的字符串中删除扩展名?(1)

📅  最后修改于: 2023-12-03 15:23:47.444000             🧑  作者: Mango

如何从PHP的字符串中删除扩展名?

当我们需要从 PHP 字符串中删除文件的扩展名时,有许多不同的方法可以使用。本文将介绍其中两种最常见的方法来实现这个任务。

方法一:使用substr和strrpos函数

我们可以使用两个 PHP 内置函数,即 substr 和 strrpos,来实现删除字符串中的扩展名。substr 函数允许您返回字符串中指定长度的一部分,而 strrpos 函数则允许您从后往前查找子字符串,并返回它的位置。我们可以使用这两个函数来获取文件的名称并删除它的扩展名。

下面是实现的代码片段:

<?php
  $filename = 'example.txt';
  $name = substr($filename, 0, strrpos($filename, '.'));
  echo $name; // 输出: example
?>

在上面的代码片段中,首先我们声明了一个包含文件名的变量 $filename,即 example.txt。然后,我们定义了变量 $name,它是从文件名中获取的不包含扩展名的部分。我们使用 substr() 去掉了扩展名之后部分的最后一个字符,即“.”。最后,我们将 $name 变量输出到屏幕上。

方法二:使用pathinfo函数

除了使用 substr 和 strrpos 函数之外,我们还可以使用 PHP 内置函数 pathinfo 来获取文件名和扩展名并删除它。该函数返回一个数组,其中包含文件的相关信息,如文件名、扩展名和文件路径等等。我们可以使用它来获取文件名,然后使用 str_replace 函数删除扩展名。

下面是实现的代码片段:

<?php
  $filename = 'example.txt';
  $name = pathinfo($filename, PATHINFO_FILENAME);
  $extension = pathinfo($filename, PATHINFO_EXTENSION);
  $newfilename = str_replace(".".$extension,"",$filename);
  echo $newfilename; // 输出: example
?>

在上面的代码片段中,我们先定义了 $filename 变量,它包含文件名和扩展名。然后,我们使用 pathinfo 函数获取文件名和扩展名。然后,我们使用 str_replace 函数删除文件名中的扩展名部分,并将结果赋给新变量 $newfilename。最后输出 $newfilename 变量。

总结

在 PHP 中删除文件名中的扩展名通常有多种方法。在本文中,我们介绍了两种最常见的方法,一种使用substr和strrpos函数,另一种使用pathinfo和str_replace函数。您可以选择最适合您需要的方法,以删除 PHP 字符串中的扩展名。