[英]Remove URL part and file extension with strstr
我尝试了函数:strstr,但是它有一个问题。 假设URL看起来像:
http://www.example.com/index.php
使用strstr,我可以删除'/'之前的任何内容,但我只想:
指数
即,不带扩展名的文件的实际名称。
我强烈建议使用PHP parse_url()
函数:
$address = 'http://www.example.com/index.php';
$url = parse_url($address);
echo $url['host'];
重塑轮子没有意义。
如果文件类型可以更改,并且您确定没有其他类型。 在文件名例如index.2.php中,则可以使用
$filename = basename('http://www.example.com/index.php');
$filename = substr($filename, 0, strpos($filename, '.'));
如果它总是以.php结尾,则可以执行以下操作:
basename('http://www.example.com/index.php', '.php')
如果它可以以其他扩展名结尾,则可以执行以下操作:
if (preg_match('#([^/]+)\.\w+$#', 'http://www.example.com/index.php', $matches))
$basename = $matches[1];
+1 cletus为正确的工作提供了合适的工具,一个正确的URL解析器。 正则表达式破解将因各种查询字符串而失败。
但是,这是这里要查找的最后一个路径部分,而不是主机。 所以:
$url = parse_url($address);
$filename= array_pop(explode('/', $url['path']));
$filestem= explode('.', $filename)[0];
它非常简单,不需要太多代码。
只需手动操作,它将自动读取
像这样写你的网址
http://www.example.com/index
它将显示您的文件,最后是.php。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.