PHP ucwords适用于除第一个单词以外的所有单词

PHP ucwords适用于除第一个单词以外的所有单词,php,Php,我正在尝试将带下划线的小写文件名转换为“正确” 用空格代替下划线和大写字母的单词 要在网页上显示的每个单词 文件名示例: 测试一、二、三、四、五.php 我有什么“应该”起作用的:(IMHO) 输出是“test一二三四五”,正如您所看到的,它不是100%正确的 请问我哪里出错了?我怎样才能得到想要的结果 提前感谢您的帮助 Floyd实际上,当您打印$path=$\u服务器[“SCRIPT\u NAME”]时,您会发现首先有“/”。首先通过str\u replace将其删除,然后执行进一步的编

我正在尝试将带下划线的小写文件名转换为“正确” 用空格代替下划线和大写字母的单词 要在网页上显示的每个单词

文件名示例: 测试一、二、三、四、五.php

我有什么“应该”起作用的:(IMHO)


输出是“test一二三四五”,正如您所看到的,它不是100%正确的

请问我哪里出错了?我怎样才能得到想要的结果

提前感谢您的帮助


Floyd

实际上,当您打印
$path=$\u服务器[“SCRIPT\u NAME”]
时,您会发现首先有“/”。首先通过
str\u replace
将其删除,然后执行进一步的编码

$path = $_SERVER["SCRIPT_NAME"]; 
$path = str_replace('_', ' ', ($path));
$path = str_replace('/', '', ($path)); 
$path = ucwords($path);

echo basename ($path,".php");

不能复制:我也不能复制它。您的脚本将打印测试一二三四五。谢谢您的帮助!如果我将文件名“声明”为:$path='test\u one\u two\u three\u four\u five.php',则效果良好;但是使用“test\u one\u two\u three\u four\u five.php”的实际文件名和上面给出的代码,它不会大写第一个字母。叮叮!很好用!“/”从哪里来,又到哪里去了?(为什么没有显示)“/”从哪里来,到哪里去了?(为什么没有显示)
$path = $_SERVER["SCRIPT_NAME"]; 
$path = str_replace('_', ' ', ($path));
$path = str_replace('/', '', ($path)); 
$path = ucwords($path);

echo basename ($path,".php");