如何在 PHP 中移除字符串的扩展名
PHP(超文本预处理器):PHP(超文本预处理器)是一种广泛使用的开源服务器端脚本语言,专为 Web 开发而设计。它最初由 Rasmus Lerdorf 于 1994 年创建,现已发展成为全球数百万开发人员使用的强大语言。
PHP 主要用于开发动态网页和 Web 应用程序。它允许开发人员将 PHP 代码嵌入 HTML 中,从而轻松地将服务器端逻辑与表示层混合。 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 中的文件扩展名时,处理边缘情况并考虑性能、文件名变化和要求等因素非常重要。

